tdf#122345 filter/ww8 export: no fake section at end of document
If Writer has a section that is ending, then the part after
that would need to be another section for MS formats. However,
if the section ends at the end of the document, there is
no need to start a new section.
This is particularly important for exporting RTF (preventing
accumulating sections/paragraphs), but it also affects
docx and doc (without noticable benefit or harm, but
now instead of "fake" section properties it will end with
the properties of the real section - which can only be a
good thing, right?)
This is one step in the right direction for resolving the comment
//0xffffffff, what ... is going on with that!, fixme most terribly
reinterpret_cast<SwSectionFormat*>(sal_IntPtr(-1))
Change-Id: Ie0641eb78c11103b33e3d849fe0b7935476a6505
Reviewed-on: https://gerrit.libreoffice.org/65974
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx
index 8dc6656..7dd8d79 100644
--- a/sw/qa/extras/rtfexport/rtfexport.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport.cxx
@@ -1092,6 +1092,8 @@
// This was 0, the separator line was not visible due to 0 width.
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2),
getProperty<sal_Int32>(xTextColumns, "SeparatorLineWidth"));
CPPUNIT_ASSERT_EQUAL(7, getParagraphs());
}
DECLARE_RTFEXPORT_TEST(testTdf94377, "tdf94377.rtf")
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index 69be4bc2..6cfc0f0 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -2778,6 +2778,10 @@
{
bNeedExportBreakHere = false;
}
// No need to create a "fake" section if this is the end of the document,
// except to emulate balanced columns.
else if ( nColumnCount < 2 && aIdx == m_pDoc->GetNodes().GetEndOfContent() )
bNeedExportBreakHere = false;
}
if (bNeedExportBreakHere) //#120140# End of check