configure.ac | 2 icon-themes/elementary/vcl/res/check.png |binary icon-themes/elementary/vcl/res/checkmono.png |binary icon-themes/elementary/vcl/res/radio.png |binary icon-themes/elementary/vcl/res/radiomono.png |binary icon-themes/galaxy/vcl/res/check.png |binary icon-themes/galaxy/vcl/res/checkmono.png |binary icon-themes/galaxy/vcl/res/radio.png |binary icon-themes/galaxy/vcl/res/radiomono.png |binary icon-themes/sifr/cmd/lc_showtrackchanges.png |binary icon-themes/sifr/cmd/sc_showtrackchanges.png |binary libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 9 +++- svx/source/customshapes/EnhancedCustomShape2d.cxx | 17 ++++++- sw/qa/extras/ooxmlimport/data/tdf100072.docx |binary sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 44 ++++++++++++++++++++ sw/source/uibase/app/apphdl.cxx | 3 + sw/source/uibase/docvw/edtdd.cxx | 8 +++ vcl/source/control/button.cxx | 4 - xmloff/source/draw/shapeexport.cxx | 15 ++++-- 19 files changed, 89 insertions(+), 13 deletions(-)
New commits: commit 6a0cbf145d2f776076240e975719f4d9b2035f26 Author: Andras Timar <[email protected]> Date: Wed May 31 14:52:53 2017 +0200 Bump version to 5.3-15 Change-Id: Iab41211b8762435d8a06077bf89622ee58d06a09 diff --git a/configure.ac b/configure.ac index 2393b131683b..7a89e9f4892a 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([Collabora Office],[5.3.10.14],[],[],[https://collaboraoffice.com/]) +AC_INIT([Collabora Office],[5.3.10.15],[],[],[https://collaboraoffice.com/]) AC_PREREQ([2.59]) commit c7c2b9273cfe4b080fbfd30179c7ae673f3cd066 Author: Vasily Melenchuk <[email protected]> Date: Mon May 15 13:41:14 2017 +0300 tdf#100072 zero height of shape's path was causing geometry errors DOCX custom geometry shape's path width and height are now used independently for scaling calculations. Reviewed-on: https://gerrit.libreoffice.org/37639 Tested-by: Jenkins <[email protected]> Reviewed-by: Thorsten Behrens <[email protected]> (cherry picked from commit 5477f7274e4df1210298c0f503a54eabc0f06bfc) plus: tdf#100072 extra test for DOCX shape import with zero height Corresponding bug is already fixed in tdf#107104. However created tests do care only for width, but not for height, like we have in this testcase. Reviewed-on: https://gerrit.libreoffice.org/37538 Tested-by: Jenkins <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (cherry picked from commit cffc5a04661fc0a84dff9fa5da954236d88a8b38) Change-Id: If5d5499f402379df125b0f31dd071ca51b2553f1 Reviewed-on: https://gerrit.libreoffice.org/38224 Tested-by: Jenkins <[email protected]> Reviewed-by: Thorsten Behrens <[email protected]> (cherry picked from commit 9c3100a4b9f258a7dc0aff93bc01fa39f7501d2c) diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx index 6a5e9e9c87e9..85886b22ec3e 100644 --- a/svx/source/customshapes/EnhancedCustomShape2d.cxx +++ b/svx/source/customshapes/EnhancedCustomShape2d.cxx @@ -651,10 +651,23 @@ void EnhancedCustomShape2d::SetPathSize( sal_Int32 nIndex ) "svx", "ooxml shape, path width: " << nCoordWidth << " height: " << nCoordHeight); + + // Try to set up scale separately, if given only width or height + // This is possible case in OOXML when only width or height is non-zero if ( nCoordWidth == 0 ) - fXScale = 1.0; + { + if ( nWidth ) + fXScale = (double)aLogicRect.GetWidth() / (double)nWidth; + else + fXScale = 1.0; + } if ( nCoordHeight == 0 ) - fYScale = 1.0; + { + if ( nHeight ) + fYScale = (double)aLogicRect.GetHeight() / (double)nHeight; + else + fYScale = 1.0; + } } if ( (sal_uInt32)nXRef != 0x80000000 && aLogicRect.GetHeight() ) { diff --git a/sw/qa/extras/ooxmlimport/data/tdf100072.docx b/sw/qa/extras/ooxmlimport/data/tdf100072.docx new file mode 100644 index 000000000000..02b885b9aafa Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf100072.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 70713a4abe49..1ce389416b2d 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -23,6 +23,7 @@ #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/document/XEmbeddedObjectSupplier2.hpp> #include <com/sun/star/drawing/PointSequenceSequence.hpp> +#include <com/sun/star/drawing/GraphicExportFilter.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/style/BreakType.hpp> #include <com/sun/star/style/XStyleFamiliesSupplier.hpp> @@ -59,6 +60,7 @@ #include <comphelper/propertysequence.hxx> #include <com/sun/star/drawing/HomogenMatrix3.hpp> #include <com/sun/star/awt/CharSet.hpp> +#include <test/mtfxmldump.hxx> class Test : public SwModelTestBase { @@ -1347,6 +1349,48 @@ DECLARE_OOXMLIMPORT_TEST(testTdf96218, "tdf96218.docx") CPPUNIT_ASSERT(!getProperty<bool>(getShape(1), "IsFollowingTextFlow")); } +DECLARE_OOXMLIMPORT_TEST(testTdf100072, "tdf100072.docx") +{ + uno::Reference<drawing::XShape> xShape = getShape(1); + + // Ensure that shape has non-zero height + CPPUNIT_ASSERT(xShape->getSize().Height > 0); + + // Ensure that shape left corner is within page (positive) + CPPUNIT_ASSERT(xShape->getPosition().X > 0); + + // Save the first shape to a metafile. + uno::Reference<drawing::XGraphicExportFilter> xGraphicExporter = drawing::GraphicExportFilter::create(comphelper::getProcessComponentContext()); + uno::Reference<lang::XComponent> xSourceDoc(xShape, uno::UNO_QUERY); + xGraphicExporter->setSourceDocument(xSourceDoc); + + SvMemoryStream aStream; + uno::Reference<io::XOutputStream> xOutputStream(new utl::OStreamWrapper(aStream)); + uno::Sequence<beans::PropertyValue> aDescriptor = + { + beans::PropertyValue("OutputStream", sal_Int32(0), uno::makeAny(xOutputStream), beans::PropertyState_DIRECT_VALUE), + beans::PropertyValue("FilterName", sal_Int32(0), uno::makeAny(OUString("SVM")), beans::PropertyState_DIRECT_VALUE) + }; + xGraphicExporter->filter(aDescriptor); + aStream.Seek(STREAM_SEEK_TO_BEGIN); + + // Read it back and dump it as an XML file. + Graphic aGraphic; + ReadGraphic(aStream, aGraphic); + const GDIMetaFile& rMetaFile = aGraphic.GetGDIMetaFile(); + MetafileXmlDump dumper; + xmlDocPtr pXmlDoc = dumper.dumpAndParse(rMetaFile); + + // Get first polyline rightside x coordinate + sal_Int32 nFirstEnd = getXPath(pXmlDoc, "/metafile/polyline[1]/point[2]", "x").toInt32(); + + // Get last stroke x coordinate + sal_Int32 nSecondEnd = getXPath(pXmlDoc, "/metafile/polyline[last()]/point[2]", "x").toInt32(); + + // Assert that the difference is less than half point. + CPPUNIT_ASSERT_MESSAGE("Shape line width does not match", abs(nFirstEnd - nSecondEnd) < 10); +} + // tests should only be added to ooxmlIMPORT *if* they fail round-tripping in ooxmlEXPORT CPPUNIT_PLUGIN_IMPLEMENT(); commit 9ab7f5964dcc31a20e4ca4c3bc7279d193252590 Author: Michael Stahl <[email protected]> Date: Mon Mar 6 13:13:52 2017 +0100 libreofficekit: GTK 3.22 deprecates gtk_show_uri Avoid -Werror=deprecated-declaration and use gtk_show_uri_on_window instead, which needs a GtkWindow. Change-Id: Ia77978348809c8d88cb2823a1549cbdeffcc6c97 Reviewed-on: https://gerrit.libreoffice.org/34926 Reviewed-by: pranavk <[email protected]> Tested-by: pranavk <[email protected]> (cherry picked from commit 45dd570ac474c336cceac1ca2792f243ee125fa2) Reviewed-on: https://gerrit.libreoffice.org/38158 Tested-by: Jenkins <[email protected]> Reviewed-by: Christian Lohmaier <[email protected]> (cherry picked from commit 735f1becd2500d2572f47dfcea319c156d9b5484) diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index 1881edf7d98a..ab105ad974b0 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -1557,10 +1557,17 @@ static void signalPart(LOKDocView* pLOKDocView, int nPart, gpointer /*pData*/) } /// User clicked on a command button -> inform LOKDocView. -static void signalHyperlink(LOKDocView* /*pLOKDocView*/, char* pPayload, gpointer /*pData*/) +static void signalHyperlink(LOKDocView* pLOKDocView, char* pPayload, gpointer /*pData*/) { GError* pError = nullptr; +#if GTK_CHECK_VERSION(3,22,0) + gtk_show_uri_on_window( + GTK_WINDOW (gtk_widget_get_toplevel(GTK_WIDGET(pLOKDocView))), + pPayload, GDK_CURRENT_TIME, &pError); +#else + (void) pLOKDocView; gtk_show_uri(nullptr, pPayload, GDK_CURRENT_TIME, &pError); +#endif if (pError != nullptr) { g_warning("Unable to show URI %s : %s", pPayload, pError->message); commit 632170bfc3ee64913f408f93ebfae3fd4e733735 Author: Armin Le Grand <[email protected]> Date: Fri May 26 11:49:58 2017 +0200 tdf#106131 no global drag when anchor drag active If in Writer dragging the anchor is already active it is not allowed to enter global object drag mode. This check was missing and may lead to various inconsistencies Change-Id: I7d8dd2a62737e6d5d72f69747ceb21bcb73c45ed Reviewed-on: https://gerrit.libreoffice.org/38059 Tested-by: Jenkins <[email protected]> Reviewed-by: Armin Le Grand <[email protected]> (cherry picked from commit 1b27bed2d5b6915cda408c6f8d27d15bf13cc9be) Reviewed-on: https://gerrit.libreoffice.org/38188 Tested-by: Armin Le Grand <[email protected]> (cherry picked from commit c3c208e1fdfd60b95fc09ed48d9ee975bddb214d) Reviewed-on: https://gerrit.libreoffice.org/38209 Reviewed-by: Michael Stahl <[email protected]> (cherry picked from commit 78f84a9a92f8dcd50747480d931f60c58b2344ec) diff --git a/sw/source/uibase/docvw/edtdd.cxx b/sw/source/uibase/docvw/edtdd.cxx index 4a496dacba7d..62ab5bfb0cb5 100644 --- a/sw/source/uibase/docvw/edtdd.cxx +++ b/sw/source/uibase/docvw/edtdd.cxx @@ -88,11 +88,17 @@ void SwEditWin::StartDrag( sal_Int8 /*nAction*/, const Point& rPosPixel ) //We are not selecting and aren't at a selection bStart = true; else if ( !g_bFrameDrag && rSh.IsSelFrameMode() && - rSh.IsInsideSelectedObj( aDocPos ) ) + rSh.IsInsideSelectedObj( aDocPos ) && + nullptr == m_pAnchorMarker) { //We are not dragging internally and are not at an //object (frame, draw object) + // tdf#106131 *and* AnchorDrag is *not* active: When active, + // entering global drag mode will destroy the AnchorHdl but + // keep the now invalid ptr in place, next access will crash. + // It is indeed wrong to enter drag mode when AnchorDrag is + // already active bStart = true; } else if( !g_bFrameDrag && m_rView.GetDocShell()->IsReadOnly() && commit 6bbefb0acaa4a9cadab0a7018efa6c19d3f39712 Author: Jan Holesovsky <[email protected]> Date: Tue May 30 10:19:16 2017 +0200 tdf#107729: Disable toolbar items that are not available yet. Otherwise trying to use them crashes LibreOffice. Change-Id: I268e5b783905ec7aaaf50cbc629fd44e6341bf8d Reviewed-on: https://gerrit.libreoffice.org/38185 Tested-by: Jenkins <[email protected]> Reviewed-by: Eike Rathke <[email protected]> (cherry picked from commit 824426811897347d8a9aacff4f304572cec1473c) diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx index 61a9e31b9f08..5abd1de7c9fa 100644 --- a/sw/source/uibase/app/apphdl.cxx +++ b/sw/source/uibase/app/apphdl.cxx @@ -248,6 +248,9 @@ void SwModule::StateOther(SfxItemSet &rSet) // #i51949# hide e-Mail option if e-Mail is not supported // #i63267# printing might be disabled if (!xConfigItem || + !xConfigItem->GetResultSet().is() || + xConfigItem->GetCurrentDBData().sDataSource.isEmpty() || + xConfigItem->GetCurrentDBData().sCommand.isEmpty() || (nWhich == FN_MAILMERGE_PRINT_DOCUMENTS && Application::GetSettings().GetMiscSettings().GetDisablePrinting()) || (nWhich == FN_MAILMERGE_EMAIL_DOCUMENTS && !xConfigItem->IsMailAvailable())) { commit 945f21b8d1d89d6c5213fc2b6edc6a83adcf81b6 Author: Matthias Freund <[email protected]> Date: Tue May 30 00:03:34 2017 +0200 tdf#75256 Sifr icon theme - showtrackchanges Change-Id: I0205b71fe1a7123f7bd7e09b597e3e17af4eea57 Reviewed-on: https://gerrit.libreoffice.org/38172 Tested-by: Jenkins <[email protected]> Reviewed-by: Eike Rathke <[email protected]> (cherry picked from commit cd38159308f2fc5e53f4d3dffb9200ca78cef8fc) diff --git a/icon-themes/sifr/cmd/lc_showtrackchanges.png b/icon-themes/sifr/cmd/lc_showtrackchanges.png new file mode 100644 index 000000000000..11a17949d765 Binary files /dev/null and b/icon-themes/sifr/cmd/lc_showtrackchanges.png differ diff --git a/icon-themes/sifr/cmd/sc_showtrackchanges.png b/icon-themes/sifr/cmd/sc_showtrackchanges.png new file mode 100644 index 000000000000..fcba9c9429e7 Binary files /dev/null and b/icon-themes/sifr/cmd/sc_showtrackchanges.png differ commit d55f7bd0127c84b36312f0284b94a9568a578691 Author: Michael Stahl <[email protected]> Date: Tue May 30 13:11:01 2017 +0200 tdf#108231 tdf#108109 xmloff: SvxUnoDrawingModel doesn't implement... ... XStyleFamiliesSupplier, so try to do without. This is called from sw in case SWTRANSFER_OBJECTTYPE_DRAWMODEL. (regression from 9835a5823e0f559aabbc0e15ea126c82229c4bc7) Change-Id: Ic99ad4bf0c8e6e24fc10da173ec480c9d29c0363 (cherry picked from commit db38e3f201517acf22c1773ae9fc4cb2514788b1) Reviewed-on: https://gerrit.libreoffice.org/38214 Tested-by: Jenkins <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (cherry picked from commit 024fa6b3915fd84586b348b5033dcc4312cd8926) diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx index f3880cb1c5ab..95013a03a27d 100644 --- a/xmloff/source/draw/shapeexport.cxx +++ b/xmloff/source/draw/shapeexport.cxx @@ -385,11 +385,16 @@ void XMLShapeExport::collectShapeAutoStyles(const uno::Reference< drawing::XShap // Shapes with a Writer TextBox always have a parent style. // If there would be none, then just assign the first available. uno::Reference<style::XStyleFamiliesSupplier> xStyleFamiliesSupplier(GetExport().GetModel(), uno::UNO_QUERY); - uno::Reference<container::XNameAccess> xStyleFamilies = xStyleFamiliesSupplier->getStyleFamilies(); - uno::Reference<container::XNameAccess> xFrameStyles = xStyleFamilies->getByName("FrameStyles").get< uno::Reference<container::XNameAccess> >(); - uno::Sequence<OUString> aFrameStyles = xFrameStyles->getElementNames(); - if (aFrameStyles.hasElements()) - aParentName = aFrameStyles[0]; + if (xStyleFamiliesSupplier.is()) // tdf#108231 + { + uno::Reference<container::XNameAccess> xStyleFamilies = xStyleFamiliesSupplier->getStyleFamilies(); + uno::Reference<container::XNameAccess> xFrameStyles = xStyleFamilies->getByName("FrameStyles").get< uno::Reference<container::XNameAccess> >(); + uno::Sequence<OUString> aFrameStyles = xFrameStyles->getElementNames(); + if (aFrameStyles.hasElements()) + { + aParentName = aFrameStyles[0]; + } + } } // filter propset commit 2650a973ced3f1aef8169dd49bde2645a7eb2c03 Author: Caolán McNamara <[email protected]> Date: Wed Jan 4 18:39:34 2017 +0000 Resolves: tdf#108111 backport mono checkboxes fix replace the blue which will be set to transparent, with transparent and then we don't "manually" replace a color with transparent which makes tdf#108111 look right again (cherry picked from commit f1a8e00764b32c3b799ecd40dcb4dd632493bc45) Change-Id: I95923685d412145e88b672a50311c767d1425493 Reviewed-on: https://gerrit.libreoffice.org/38223 Reviewed-by: Justin Luth <[email protected]> Tested-by: Justin Luth <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> (cherry picked from commit ec49295718144aeeb81683bcfe5923c3610e8d21) diff --git a/icon-themes/elementary/vcl/res/check.png b/icon-themes/elementary/vcl/res/check.png index daeddd2ddcca..05f8b1c381c3 100644 Binary files a/icon-themes/elementary/vcl/res/check.png and b/icon-themes/elementary/vcl/res/check.png differ diff --git a/icon-themes/elementary/vcl/res/checkmono.png b/icon-themes/elementary/vcl/res/checkmono.png index 69c89139bf49..dc8888e0442c 100644 Binary files a/icon-themes/elementary/vcl/res/checkmono.png and b/icon-themes/elementary/vcl/res/checkmono.png differ diff --git a/icon-themes/elementary/vcl/res/radio.png b/icon-themes/elementary/vcl/res/radio.png index 73e2a04c474c..dff083949b97 100644 Binary files a/icon-themes/elementary/vcl/res/radio.png and b/icon-themes/elementary/vcl/res/radio.png differ diff --git a/icon-themes/elementary/vcl/res/radiomono.png b/icon-themes/elementary/vcl/res/radiomono.png index d9e447102afd..cdee168c1351 100644 Binary files a/icon-themes/elementary/vcl/res/radiomono.png and b/icon-themes/elementary/vcl/res/radiomono.png differ diff --git a/icon-themes/galaxy/vcl/res/check.png b/icon-themes/galaxy/vcl/res/check.png index 3bf35b2d6ae5..05f8b1c381c3 100644 Binary files a/icon-themes/galaxy/vcl/res/check.png and b/icon-themes/galaxy/vcl/res/check.png differ diff --git a/icon-themes/galaxy/vcl/res/checkmono.png b/icon-themes/galaxy/vcl/res/checkmono.png index 4cabe1284025..afdf871f4fe9 100644 Binary files a/icon-themes/galaxy/vcl/res/checkmono.png and b/icon-themes/galaxy/vcl/res/checkmono.png differ diff --git a/icon-themes/galaxy/vcl/res/radio.png b/icon-themes/galaxy/vcl/res/radio.png index c198a6d9ef90..dff083949b97 100644 Binary files a/icon-themes/galaxy/vcl/res/radio.png and b/icon-themes/galaxy/vcl/res/radio.png differ diff --git a/icon-themes/galaxy/vcl/res/radiomono.png b/icon-themes/galaxy/vcl/res/radiomono.png index aba237e266d2..88f101430b82 100644 Binary files a/icon-themes/galaxy/vcl/res/radiomono.png and b/icon-themes/galaxy/vcl/res/radiomono.png differ diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index 2feddafde72a..6c46e52137e0 100644 --- a/vcl/source/control/button.cxx +++ b/vcl/source/control/button.cxx @@ -2764,10 +2764,8 @@ static void LoadThemedImageList (const StyleSettings &rStyleSettings, aColorAry2[4] = rStyleSettings.GetDarkShadowColor(); aColorAry2[5] = rStyleSettings.GetWindowTextColor(); - Color aMaskColor(0x00, 0x00, 0xFF ); static_assert( sizeof(aColorAry1) == sizeof(aColorAry2), "aColorAry1 must match aColorAry2" ); - // FIXME: do we want the mask for the checkbox ? - pList->InsertFromHorizontalBitmap (rResId, nImages, &aMaskColor, + pList->InsertFromHorizontalBitmap (rResId, nImages, nullptr, aColorAry1, aColorAry2, SAL_N_ELEMENTS(aColorAry1)); }
_______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
