[Libreoffice-commits] core.git: sw/qa sw/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Aug 29 09:20:43 UTC 2018
sw/qa/extras/ww8export/data/tdf119232_startEvenPage.doc |binary
sw/qa/extras/ww8export/ww8export2.cxx | 5 +++++
sw/source/filter/ww8/ww8par6.cxx | 12 +++++++++---
3 files changed, 14 insertions(+), 3 deletions(-)
New commits:
commit 2127581728ae61eca7470b288c21d1c02754fb5b
Author: Justin Luth <justin_luth at sil.org>
AuthorDate: Thu Aug 16 15:49:37 2018 +0300
Commit: Miklos Vajna <vmiklos at collabora.co.uk>
CommitDate: Wed Aug 29 11:20:15 2018 +0200
tdf#119232 ww8import: even page means default to start on page 2
I didn't see this mentioned in the sprm documentation,
but that is how MS Word seems to implement it.
Change-Id: I5b86ecf99a884e768877cdb0e71f43cdb9f2ad76
Reviewed-on: https://gerrit.libreoffice.org/59221
Reviewed-by: Justin Luth <justin_luth at sil.org>
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/sw/qa/extras/ww8export/data/tdf119232_startEvenPage.doc b/sw/qa/extras/ww8export/data/tdf119232_startEvenPage.doc
new file mode 100644
index 000000000000..c50bf46c0b58
Binary files /dev/null and b/sw/qa/extras/ww8export/data/tdf119232_startEvenPage.doc differ
diff --git a/sw/qa/extras/ww8export/ww8export2.cxx b/sw/qa/extras/ww8export/ww8export2.cxx
index d540cece3c6d..078079f969ec 100644
--- a/sw/qa/extras/ww8export/ww8export2.cxx
+++ b/sw/qa/extras/ww8export/ww8export2.cxx
@@ -282,6 +282,11 @@ DECLARE_WW8EXPORT_TEST(testTdf106174_rtlParaAlign, "tdf106174_rtlParaAlign.docx"
CPPUNIT_ASSERT_EQUAL(sal_Int16(style::ParagraphAdjust_RIGHT), getProperty<sal_Int16>(getParagraph(14), "ParaAdjust"));
}
+DECLARE_WW8EXPORT_TEST(testTdf119232_startEvenPage, "tdf119232_startEvenPage.doc")
+{
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(2), getProperty<sal_Int16>(getParagraph(1), "PageNumberOffset"));
+}
+
DECLARE_WW8EXPORT_TEST(testTdf104805, "tdf104805.doc")
{
uno::Reference<beans::XPropertySet> xPropertySet(getStyles("NumberingStyles")->getByName("WW8Num1"), uno::UNO_QUERY);
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index cc43a90d4077..7844ef2a07e9 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -874,6 +874,8 @@ void wwSectionManager::CreateSep(const long nTextPos)
const sal_uInt16* pIds = eVer <= ww::eWW2 ? aVer2Ids0 : eVer <= ww::eWW7 ? aVer67Ids0 : aVer8Ids0;
+ SprmResult aRes = pSep->HasSprm(pIds[0]);
+ const sal_uInt8* pSprmBkc = aRes.pSprm;
if (!maSegments.empty())
{
// Type of break: break codes are:
@@ -882,8 +884,6 @@ void wwSectionManager::CreateSep(const long nTextPos)
// 2 New page
// 3 Even page
// 4 Odd page
- SprmResult aRes = pSep->HasSprm(pIds[0]);
- const sal_uInt8* pSprmBkc = aRes.pSprm;
if (pSprmBkc && aRes.nRemainingData >= 1)
aNewSection.maSep.bkc = *pSprmBkc;
}
@@ -1036,7 +1036,13 @@ void wwSectionManager::CreateSep(const long nTextPos)
aNewSection.maSep.pgnStart = ReadUSprm( pSep, pIds[7], 0 );
- SprmResult aRes;
+ // if the document's first page number is unspecified, but it starts with an even page break,
+ // then set the first page number to two
+ if ( maSegments.empty() && !aNewSection.maSep.fPgnRestart && pSprmBkc && *pSprmBkc == 3 )
+ {
+ aNewSection.maSep.pgnStart = 2;
+ aNewSection.maSep.fPgnRestart = 1;
+ }
if (eVer >= ww::eWW6)
{
More information about the Libreoffice-commits
mailing list