partial revert tdf#153178 writerfilter: do not create text frame spuriously
If HoriAnchor/VertAnchor are assigned, that is enough to create a frame.
make CppunitTest_sw_rtfexport8 CPPUNIT_TEST_NAME=testTdf158586_0B
Note: because of a regression, this was already one page before
this commit, so need to go back to the time of the reverted patch.
Change-Id: Iddbe1cc4ba6d6e95e2d977a227ae6cab5271007e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160743
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160981
diff --git a/sw/qa/extras/rtfexport/data/tdf158586_pageBreak0B.rtf b/sw/qa/extras/rtfexport/data/tdf158586_pageBreak0B.rtf
new file mode 100644
index 0000000..587e905
--- /dev/null
+++ b/sw/qa/extras/rtfexport/data/tdf158586_pageBreak0B.rtf
@@ -0,0 +1,15 @@
{\rtf1
\paperw8419\paperh5953
\spltpgpar
\ltrpar \sectd
\pard\plain \phpg\pvpg
\page \sect \sectd \sbknone
\pard\plain First page
\par
}
diff --git a/sw/qa/extras/rtfexport/rtfexport8.cxx b/sw/qa/extras/rtfexport/rtfexport8.cxx
index 80309ff..bcba0a9 100644
--- a/sw/qa/extras/rtfexport/rtfexport8.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport8.cxx
@@ -56,6 +56,12 @@ DECLARE_RTFEXPORT_TEST(testTdf158586_0, "tdf158586_pageBreak0.rtf")
// assertXPathContent(pLayout, "//page[1]/body/txt"_ostr, "First page");}
}
DECLARE_RTFEXPORT_TEST(testTdf158586_0B, "tdf158586_pageBreak0B.rtf")
{
// The specified page break must be lost because it is in a text frame
CPPUNIT_ASSERT_EQUAL(1, getPages());
}
DECLARE_RTFEXPORT_TEST(testTdf158586_1, "tdf158586_pageBreak1.rtf")
{
// None of the specified text frame settings initiates a real text frame - page break not lost
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 1a4f33f..0abbcca 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -4010,6 +4010,8 @@ bool RTFFrame::hasProperties() const
{
// tdf#153178 \dxfrtext \dfrmtxtx \dfrmtxty \wrapdefault do *not* create frame
return m_nX != 0 || m_nY != 0 || m_nW != 0 || m_nH != 0
|| (m_nHoriAnchor && m_nHoriAnchor != NS_ooxml::LN_Value_doc_ST_HAnchor_text)
|| (m_nVertAnchor && m_nVertAnchor != NS_ooxml::LN_Value_doc_ST_VAnchor_margin)
|| (m_oWrap && *m_oWrap != NS_ooxml::LN_Value_doc_ST_Wrap_auto);
}