sw/qa/extras/ww8export/data/tdf104017.doc |binary
 sw/qa/extras/ww8export/ww8export3.cxx     |    9 +++++++++
 sw/source/filter/ww8/ww8atr.cxx           |    2 +-
 3 files changed, 10 insertions(+), 1 deletion(-)

New commits:
commit 5d1709a7c4184eb31cfc4c2d3acadff3a4a68189
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Mon Oct 28 21:52:18 2019 +0100
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Tue Oct 29 08:41:47 2019 +0100

    tdf#104017 DOC export: be less aggressive with merging page styles
    
    Regression from commit 7146d8bcd96f844dc0239a5b29a6b36c3cb5a2cc
    (MSWordExportBase::OutputSectionBreaks: avoid fake section breaks,
    2014-07-28), the problem was that we merged two separate page styles
    just because they were similar. This resulted in merging two independent
    tables into a single one.
    
    Fix the problem by merging the first and follow page style only in case
    the first page style is RES_POOLPAGE_FIRST, this resolves the current
    problem and keeps the original problem fixed, too.
    
    (Long-term, a better fix would be to not split the page styles in
    writerfilter/, similar to how the DOC import doesn't do that anymore:
    and then the merging can be avoided unconditionally.)
    
    Change-Id: I357f1337cb0abc7fa1d88aa44ff87b4b464af81c
    Reviewed-on: https://gerrit.libreoffice.org/81630
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>

diff --git a/sw/qa/extras/ww8export/data/tdf104017.doc 
b/sw/qa/extras/ww8export/data/tdf104017.doc
new file mode 100644
index 000000000000..878cbe25f863
Binary files /dev/null and b/sw/qa/extras/ww8export/data/tdf104017.doc differ
diff --git a/sw/qa/extras/ww8export/ww8export3.cxx 
b/sw/qa/extras/ww8export/ww8export3.cxx
index 2e92346ea04b..cb4caa351b98 100644
--- a/sw/qa/extras/ww8export/ww8export3.cxx
+++ b/sw/qa/extras/ww8export/ww8export3.cxx
@@ -361,6 +361,15 @@ DECLARE_WW8EXPORT_TEST(testPresetDash, 
"tdf127166_prstDash_Word97.doc")
     }
 }
 
+DECLARE_WW8EXPORT_TEST(testTdf104017, "tdf104017.doc")
+{
+    // Without the accompanying fix in place, this test would have failed with:
+    // - Expected: 2
+    // - Actual  : 1
+    // i.e. the tables on the two pages were merged together to a single one 
on export.
+    CPPUNIT_ASSERT_EQUAL(2, getPages());
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index 8672ec47de69..040153b65bdd 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -475,7 +475,7 @@ void MSWordExportBase::OutputSectionBreaks( const 
SfxItemSet *pSet, const SwNode
                 }
             }
         }
-        else if 
(!sw::util::IsPlausableSingleWordSection(m_pCurrentPageDesc->GetFirstMaster(), 
pPageDesc->GetMaster()))
+        else if (m_pCurrentPageDesc->GetPoolFormatId() != RES_POOLPAGE_FIRST 
|| 
!sw::util::IsPlausableSingleWordSection(m_pCurrentPageDesc->GetFirstMaster(), 
pPageDesc->GetMaster()))
         {
             bBreakSet = true;
             bNewPageDesc = true;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to