[Libreoffice-commits] .: sw/qa writerfilter/source
Miklos Vajna
vmiklos at suse.cz
Sat Feb 2 06:39:10 PST 2013
sw/qa/extras/rtfimport/data/fdo58646.rtf | 7 +++++++
sw/qa/extras/rtfimport/rtfimport.cxx | 8 ++++++++
writerfilter/source/rtftok/rtfdocumentimpl.cxx | 4 +++-
3 files changed, 18 insertions(+), 1 deletion(-)
New commits:
commit 3974e9952102dbfb4f004872768b1096133bd9a5
Author: Miklos Vajna <vmiklos at suse.cz>
Date: Sat Feb 2 15:29:24 2013 +0100
fdo#58646 fix import of RTF_PAGE in cont section when having titlepg
Change-Id: Ia632edb24869ddfb76a029fdb460bcf24d9a2059
diff --git a/sw/qa/extras/rtfimport/data/fdo58646.rtf b/sw/qa/extras/rtfimport/data/fdo58646.rtf
new file mode 100644
index 0000000..4314272
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo58646.rtf
@@ -0,0 +1,7 @@
+{\rtf1
+\sbknone
+\titlepg
+first page
+\page\par
+second page
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index f1e9626..ab8ac50 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -138,6 +138,7 @@ public:
void testFdo58933();
void testFdo44053();
void testFdo48440();
+ void testFdo58646();
CPPUNIT_TEST_SUITE(Test);
#if !defined(MACOSX) && !defined(WNT)
@@ -247,6 +248,7 @@ void Test::run()
{"fdo58933.rtf", &Test::testFdo58933},
{"fdo44053.rtf", &Test::testFdo44053},
{"fdo48440.rtf", &Test::testFdo48440},
+ {"fdo58646.rtf", &Test::testFdo58646},
};
header();
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
@@ -1070,6 +1072,12 @@ void Test::testFdo48440()
CPPUNIT_ASSERT_EQUAL(2, getPages());
}
+void Test::testFdo58646()
+{
+ // Page break was ignored inside a continous section, on title page.
+ CPPUNIT_ASSERT_EQUAL(2, getPages());
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 4f47d9d..3aed3b4 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -1804,7 +1804,9 @@ int RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
{
// If we're inside a continous section, we should send a section break, not a page one.
RTFValue::Pointer_t pBreak = m_aStates.top().aSectionSprms.find(NS_sprm::LN_SBkc);
- if (pBreak.get() && !pBreak->getInt())
+ // Unless we're on a title page.
+ RTFValue::Pointer_t pTitlePg = m_aStates.top().aSectionSprms.find(NS_ooxml::LN_EG_SectPrContents_titlePg);
+ if ((pBreak.get() && !pBreak->getInt()) && !(pTitlePg.get() && pTitlePg->getInt()))
{
if (m_bWasInFrame)
{
More information about the Libreoffice-commits
mailing list