[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.0' - 5 commits - configure.ac download.lst external/libpng oox/source svx/source sw/qa sw/source

Andras Timar andras.timar at collabora.com
Mon Nov 16 10:07:58 PST 2015


 configure.ac                                |    2 +-
 download.lst                                |    4 ++--
 external/libpng/configs/pnglibconf.h        |   16 ++++++++--------
 oox/source/drawingml/shape.cxx              |   13 +++++++++++--
 svx/source/fmcomp/fmgridif.cxx              |    2 ++
 sw/qa/extras/ooxmlimport/data/tdf85232.docx |binary
 sw/qa/extras/ooxmlimport/ooxmlimport.cxx    |   11 +++++++++++
 sw/qa/extras/ww8import/data/tdf95321.doc    |binary
 sw/qa/extras/ww8import/ww8import.cxx        |   10 ++++++++++
 sw/source/filter/ww8/ww8par.cxx             |    2 +-
 10 files changed, 46 insertions(+), 14 deletions(-)

New commits:
commit 4158227dae901a16c9fb3af541ee8f8cef6a100f
Author: Andras Timar <andras.timar at collabora.com>
Date:   Mon Nov 16 19:08:18 2015 +0100

    Bump version to 5.0-10
    
    Change-Id: I9f0e693aa48ed6a1ace8b9cdfd1b1db2f3379215

diff --git a/configure.ac b/configure.ac
index af48c21..afb93ce 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.0.10.9],[],[],[https://CollaboraOffice.com/])
+AC_INIT([Collabora Office],[5.0.10.10],[],[],[https://CollaboraOffice.com/])
 
 AC_PREREQ([2.59])
 
commit 0d77e2faa95e440e5bde96432ade122e1804a0cc
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Nov 16 11:23:40 2015 +0000

    bump png to 1.5.24 CVE-2015-7981 + CVE-2015-8126
    
    Change-Id: Ice54f6c89eb2a2492d2b55a3f4edb13df4192446
    Reviewed-on: https://gerrit.libreoffice.org/19985
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    (cherry picked from commit 055c248e1573cc7cd7988b28f8bb0bf64bf0d6c8)

diff --git a/download.lst b/download.lst
index 015e7b7..53f13e8 100644
--- a/download.lst
+++ b/download.lst
@@ -117,8 +117,8 @@ export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-
 export PAGEMAKER_MD5SUM := 795cc7a59ace4db2b12586971d668671
 export PAGEMAKER_TARBALL := libpagemaker-0.0.2.tar.bz2
 export PIXMAN_TARBALL := c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2
-export PNG_MD5SUM := 5266905cef49d1224437465ad4d67fd9
-export PNG_TARBALL := libpng-1.5.18.tar.gz
+export PNG_MD5SUM := 6652e428d1d3fc3c6cb1362159b1cf3b
+export PNG_TARBALL := libpng-1.5.24.tar.gz
 export POPPLER_MD5SUM := 35c0660065d023365e9854c13e289d12
 export POPPLER_TARBALL := poppler-0.26.4.tar.gz
 export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
diff --git a/external/libpng/configs/pnglibconf.h b/external/libpng/configs/pnglibconf.h
index 9e97d1e..8149f59 100644
--- a/external/libpng/configs/pnglibconf.h
+++ b/external/libpng/configs/pnglibconf.h
@@ -1,9 +1,9 @@
-/* 1.5.18 STANDARD API DEFINITION */
+/* 1.5.24 STANDARD API DEFINITION */
 /* pnglibconf.h - library build configuration */
 
-/* libpng version 1.5.18 - February 6, 2014 */
+/* libpng version 1.5.24 - November 12, 2015 */
 
-/* Copyright (c) 1998-2013 Glenn Randers-Pehrson */
+/* Copyright (c) 1998-2015 Glenn Randers-Pehrson */
 
 /* This code is released under the libpng license. */
 /* For conditions of distribution and use, see the disclaimer */
@@ -95,8 +95,6 @@
 #define PNG_SAVE_INT_32_SUPPORTED
 #define PNG_SEQUENTIAL_READ_SUPPORTED
 #define PNG_SETJMP_SUPPORTED
-#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED
-#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
 /*#undef PNG_SET_OPTION_SUPPORTED*/
 #define PNG_SET_USER_LIMITS_SUPPORTED
 #define PNG_STDIO_SUPPORTED
@@ -114,6 +112,7 @@
 #define PNG_WRITE_BGR_SUPPORTED
 #define PNG_WRITE_CHECK_FOR_INVALID_INDEX_SUPPORTED
 #define PNG_WRITE_COMPRESSED_TEXT_SUPPORTED
+#define PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED
 #define PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
 #define PNG_WRITE_FILLER_SUPPORTED
 #define PNG_WRITE_FILTER_SUPPORTED
@@ -172,15 +171,16 @@
 /* end of options */
 /* settings */
 #define PNG_API_RULE 0
-#define PNG_CALLOC_SUPPORTED
-#define PNG_COST_SHIFT 3
 #define PNG_DEFAULT_READ_MACROS 1
 #define PNG_GAMMA_THRESHOLD_FIXED 5000
 #define PNG_MAX_GAMMA_8 11
 #define PNG_QUANTIZE_BLUE_BITS 5
 #define PNG_QUANTIZE_GREEN_BITS 5
 #define PNG_QUANTIZE_RED_BITS 5
-#define PNG_WEIGHT_SHIFT 8
+#define PNG_USER_CHUNK_CACHE_MAX 1000
+#define PNG_USER_CHUNK_MALLOC_MAX 8000000
+#define PNG_USER_HEIGHT_MAX 1000000
+#define PNG_USER_WIDTH_MAX 1000000
 #define PNG_ZBUF_SIZE 8192
 #define PNG_sCAL_PRECISION 5
 /* end of settings */
commit 7c7acde337bbd31809ff07d51d82f51e91708325
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Nov 10 20:37:00 2015 +0000

    Resolves: tdf#94069 call setVisible when setDesignMode is called
    
    void UnoControl::setDesignMode calls setVisible on the XWindow
    so it seems sensible that FmXGridPeer::setDesignMode should
    also do so. The desirable side effect is that moving the window
    in design mode then is moving a un-shown window so nothing
    is invalidated so the paint loop doesn't happen.
    
    Change-Id: Ic5a4ba62590372bec15a29b993b73d6dfb94a8a9
    (cherry picked from commit a7816853bad55ada597092c16ba9a0a761e067d0)
    Reviewed-on: https://gerrit.libreoffice.org/19906
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Jenkins <ci at libreoffice.org>
    (cherry picked from commit a08a5ff76b78f828367467a0a1610d2f7e63ad75)

diff --git a/svx/source/fmcomp/fmgridif.cxx b/svx/source/fmcomp/fmgridif.cxx
index 85f8513..d3555b9 100644
--- a/svx/source/fmcomp/fmgridif.cxx
+++ b/svx/source/fmcomp/fmgridif.cxx
@@ -1693,6 +1693,8 @@ void FmXGridPeer::setDesignMode(sal_Bool bOn) throw( RuntimeException, std::exce
             static_cast<FmGridControl*>(pWin)->SetDesignMode(bOn);
     }
 
+    setVisible(!bOn);
+
     if (bOn)
         DisConnectFromDispatcher();
     else
commit 27c521e5448809889cc8211ba503b69585c0a4be
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Nov 11 12:34:01 2015 +0000

    Resolves: tdf#95321 tables in headers/footers with wrong content
    
    Change-Id: I937ed893dfd9919bf48b8fd38a1b83c524200532
    (cherry picked from commit 6128c10f550924c2b75f18b6c6220cc1770adba4)
    Reviewed-on: https://gerrit.libreoffice.org/19911
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    (cherry picked from commit 82c0f2eb67f8fda9981fe83ebab3d658b6ec85fd)

diff --git a/sw/qa/extras/ww8import/data/tdf95321.doc b/sw/qa/extras/ww8import/data/tdf95321.doc
new file mode 100644
index 0000000..8b85472
Binary files /dev/null and b/sw/qa/extras/ww8import/data/tdf95321.doc differ
diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx
index 87fde37..3a0860d 100644
--- a/sw/qa/extras/ww8import/ww8import.cxx
+++ b/sw/qa/extras/ww8import/ww8import.cxx
@@ -419,6 +419,16 @@ DECLARE_WW8IMPORT_TEST(testBnc863018, "bnc863018.doc")
     CPPUNIT_ASSERT_EQUAL(sal_Int32(5002), getProperty<sal_Int32>(xTable, "TopMargin"));
 }
 
+DECLARE_WW8IMPORT_TEST(testTdf95321, "tdf95321.doc")
+{
+    // The problem was that there should be content in the second cell
+    // but there wasn't.
+    uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY);
+    uno::Reference<container::XIndexAccess> xIndexAccess(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY);
+    uno::Reference<text::XTextTable> xTable(xIndexAccess->getByIndex(0), uno::UNO_QUERY);
+    CPPUNIT_ASSERT_EQUAL(OUString("Second Column"), uno::Reference<text::XTextRange>(xTable->getCellByName("B1"), uno::UNO_QUERY)->getString());
+}
+
 DECLARE_WW8IMPORT_TEST(testBnc875715, "bnc875715.doc")
 {
     uno::Reference<text::XTextSectionsSupplier> xTextSectionsSupplier(mxComponent, uno::UNO_QUERY);
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 1fecce8..f431305 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -3544,7 +3544,7 @@ bool SwWW8ImplReader::ReadChar(long nPosCp, long nCpOfs)
                 //
                 //So the 0x7 should be right at the end of the previous
                 //range to be a real cell-end.
-                if (pPap->nOrigStartPos == nCpOfs+nPosCp+1 ||
+                if (pPap->nOrigStartPos == nPosCp+1 ||
                     pPap->nOrigStartPos == WW8_CP_MAX)
                 {
                     TabCellEnd();       // Table cell/row end
commit a4a68c2a7df5ea120f0bc4c13195e310462584db
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed Nov 11 08:57:31 2015 +0100

    tdf#85232 WPG import: fix handling of line shapes
    
    The missing convertMm100ToTwip() calls mispositioned the line shapes
    inside the groupshape in case of using drawingML inside DOCX files.
    
    (cherry picked from commit 11129d89b152db54c86bb2bda58c24b8abb6c5a8)
    
    Conflicts:
    	sw/qa/extras/ooxmlimport/ooxmlimport.cxx
    
    Change-Id: I0c9d652de43d779f9073a8bfe22866ce4f31d0fa
    Reviewed-on: https://gerrit.libreoffice.org/19946
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit ca8cdb9afc886f3013a7c1d8707d4c5bef70a1c5)

diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 1f10a74..d7247be 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -480,10 +480,11 @@ Reference< XShape > Shape::createAndInsert(
         aTransformation.translate( aCenter.getX(), aCenter.getY() );
     }
 
+    bool bInGroup = !aParentTransformation.isIdentity();
     if( maPosition.X != 0 || maPosition.Y != 0)
     {
         // if global position is used, add it to transformation
-        if (mbWps && aParentTransformation.isIdentity())
+        if (mbWps && !bInGroup)
             aTransformation.translate( maPosition.X * EMU_PER_HMM, maPosition.Y * EMU_PER_HMM);
         else
             aTransformation.translate( maPosition.X, maPosition.Y );
@@ -505,10 +506,18 @@ Reference< XShape > Shape::createAndInsert(
         sal_Int32 i, nNumPoints = aPoly.count();
         uno::Sequence< awt::Point > aPointSequence( nNumPoints );
         awt::Point* pPoints = aPointSequence.getArray();
+        uno::Reference<lang::XServiceInfo> xModelInfo(rFilterBase.getModel(), uno::UNO_QUERY);
+        bool bIsWriter = xModelInfo->supportsService("com.sun.star.text.TextDocument");
         for( i = 0; i < nNumPoints; ++i )
         {
             const ::basegfx::B2DPoint aPoint( aPoly.getB2DPoint( i ) );
-            pPoints[ i ] = awt::Point( static_cast< sal_Int32 >( aPoint.getX() ), static_cast< sal_Int32 >( aPoint.getY() ) );
+            if (bIsWriter && bInGroup)
+                // Writer's draw page is in twips, and these points get passed
+                // to core without any unit conversion when Writer
+                // postprocesses only the group shape itself.
+                pPoints[i] = awt::Point(static_cast<sal_Int32>(convertMm100ToTwip(aPoint.getX())), static_cast<sal_Int32>(convertMm100ToTwip(aPoint.getY())));
+            else
+                pPoints[i] = awt::Point(static_cast<sal_Int32>(aPoint.getX()), static_cast<sal_Int32>(aPoint.getY()));
         }
         uno::Sequence< uno::Sequence< awt::Point > > aPolyPolySequence( 1 );
         aPolyPolySequence.getArray()[ 0 ] = aPointSequence;
diff --git a/sw/qa/extras/ooxmlimport/data/tdf85232.docx b/sw/qa/extras/ooxmlimport/data/tdf85232.docx
new file mode 100644
index 0000000..35e8a88
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf85232.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 42dc736..d463bf4 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -2836,6 +2836,17 @@ DECLARE_OOXMLIMPORT_TEST(testTdf94374, "hello.docx")
     CPPUNIT_ASSERT(paste("tdf94374.docx", xEnd));
 }
 
+DECLARE_OOXMLIMPORT_TEST(testTdf85232, "tdf85232.docx")
+{
+    uno::Reference<drawing::XShapes> xShapes(getShapeByName("Group 219"), uno::UNO_QUERY);
+    uno::Reference<drawing::XShape> xShape(xShapes->getByIndex(1), uno::UNO_QUERY);
+    uno::Reference<drawing::XShapeDescriptor> xShapeDescriptor(xShape, uno::UNO_QUERY);
+    // Make sure we're not testing the ellipse child.
+    CPPUNIT_ASSERT_EQUAL(OUString("com.sun.star.drawing.LineShape"), xShapeDescriptor->getShapeType());
+    // This was 2900: horizontal position of the line was incorrect, the 3 children were not connected visually.
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2267), xShape->getPosition().X);
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();


More information about the Libreoffice-commits mailing list