[Libreoffice-commits] core.git: sw/qa sw/source

Oliver Specht oliver.specht at cib.de
Thu Apr 28 09:40:23 UTC 2016


 sw/qa/extras/ww8import/data/tdf74328.doc |binary
 sw/qa/extras/ww8import/ww8import.cxx     |   14 ++++++++++++++
 sw/source/filter/ww8/ww8par6.cxx         |    4 ++--
 3 files changed, 16 insertions(+), 2 deletions(-)

New commits:
commit 5f63e19ddffdf3eaa2351968550498fdae35475d
Author: Oliver Specht <oliver.specht at cib.de>
Date:   Wed Apr 27 16:37:48 2016 +0200

    tdf#74328: loading section page no. as 16 bit unsigned
    
    The sprm sprmSPgnStart97 contains a 16 bit unsigned value. Test included.
    
    Change-Id: I300e9a94c13666cf8e71d3613b8f1171c7314cdd
    Reviewed-on: https://gerrit.libreoffice.org/24431
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Oliver Specht <oliver.specht at cib.de>

diff --git a/sw/qa/extras/ww8import/data/tdf74328.doc b/sw/qa/extras/ww8import/data/tdf74328.doc
new file mode 100755
index 0000000..a829785
Binary files /dev/null and b/sw/qa/extras/ww8import/data/tdf74328.doc differ
diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx
index 8727a00..b2e0f0d 100644
--- a/sw/qa/extras/ww8import/ww8import.cxx
+++ b/sw/qa/extras/ww8import/ww8import.cxx
@@ -553,6 +553,20 @@ DECLARE_WW8IMPORT_TEST(testTdf99120, "tdf99120.doc")
     CPPUNIT_ASSERT_EQUAL(OUString("Section 2, even."),  parseDump("/root/page[4]/header/txt/text()"));
 }
 
+DECLARE_WW8IMPORT_TEST(testTdf74328, "tdf74328.doc")
+{
+/*
+reading page numbers at sections > 255, in this case 256
+*/
+    uno::Reference<text::XTextDocument> textDocument(mxComponent, uno::UNO_QUERY);
+    uno::Reference<text::XTextCursor> xTextCursor(textDocument->getText()->createTextCursor( ), uno::UNO_QUERY);
+    uno::Reference<beans::XPropertySet> xProps(xTextCursor, uno::UNO_QUERY);
+    uno::Any aOffset = xProps->getPropertyValue("PageNumberOffset");
+    sal_Int16 nOffset = 0;
+    aOffset >>= nOffset;
+    CPPUNIT_ASSERT_EQUAL(sal_Int16(256), nOffset);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index c271da4..4b24086 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -997,7 +997,7 @@ void wwSectionManager::CreateSep(const long nTextPos, bool /*bMustHaveBreak*/)
         /*sprmSDxaRight*/       0xB022,
         /*sprmSDzaGutter*/      0xB025,
         /*sprmSFPgnRestart*/    0x3011,
-        /*sprmSPgnStart*/       0x501C,
+        /*sprmSPgnStart97*/     0x501C,
            /*sprmSDmBinFirst*/     0x5007,
         /*sprmSDmBinOther*/     0x5008
     };
@@ -1035,7 +1035,7 @@ void wwSectionManager::CreateSep(const long nTextPos, bool /*bMustHaveBreak*/)
     // Page Number Restarts - sprmSFPgnRestart
     aNewSection.maSep.fPgnRestart = ReadBSprm(pSep, pIds[6], 0);
 
-    aNewSection.maSep.pgnStart = ReadBSprm( pSep, pIds[7], 0 );
+    aNewSection.maSep.pgnStart = ReadUSprm( pSep, pIds[7], 0 );
 
     if (eVer >= ww::eWW6)
     {


More information about the Libreoffice-commits mailing list