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.)

(cherry picked from commit 5d1709a7c4184eb31cfc4c2d3acadff3a4a68189)

Conflicts:
	sw/qa/extras/ww8export/ww8export3.cxx

Change-Id: I357f1337cb0abc7fa1d88aa44ff87b4b464af81c
Reviewed-on: https://gerrit.libreoffice.org/81653
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
diff --git a/sw/qa/extras/ww8export/data/tdf104017.doc b/sw/qa/extras/ww8export/data/tdf104017.doc
new file mode 100644
index 0000000..878cbe25
--- /dev/null
+++ b/sw/qa/extras/ww8export/data/tdf104017.doc
Binary files differ
diff --git a/sw/qa/extras/ww8export/ww8export3.cxx b/sw/qa/extras/ww8export/ww8export3.cxx
index eaba6ba..3b7dbd9 100644
--- a/sw/qa/extras/ww8export/ww8export3.cxx
+++ b/sw/qa/extras/ww8export/ww8export3.cxx
@@ -294,6 +294,15 @@ DECLARE_WW8EXPORT_TEST(testTdf126708emf, "tdf126708_containsemf.odt")
    CPPUNIT_ASSERT(abs(xSize.Width - 17000) <= 6);
}

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 ce11617..10e5827 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -473,7 +473,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;