sw/qa/extras/rtfimport/data/fdo48440.rtf | 5 +++++ sw/qa/extras/rtfimport/rtfimport.cxx | 8 ++++++++ writerfilter/source/rtftok/rtfdocumentimpl.cxx | 1 + 3 files changed, 14 insertions(+)
New commits: commit b70f74cb5f4b499f14831fd6ad49d9238735e6ef Author: Miklos Vajna <[email protected]> Date: Fri Feb 1 11:20:52 2013 +0100 fdo#48440 fix import of RTF_PAGE between text frames Normally such a page break is surrounded by text, and text() already calls checkNeedPap(), but in case the whole paragraph contains a page break only, we need it here as well. Change-Id: I3961272d77c743e0e6da2d5052e57cec5f5937e7 diff --git a/sw/qa/extras/rtfimport/data/fdo48440.rtf b/sw/qa/extras/rtfimport/data/fdo48440.rtf new file mode 100755 index 0000000..8c5ac2dc --- /dev/null +++ b/sw/qa/extras/rtfimport/data/fdo48440.rtf @@ -0,0 +1,5 @@ +{\rtf1 +{\pard\plain\qc\sl-200\sb40\phmrg\pvmrg\posx840\posy1120\absw5200\absh0\dxfrtext0\dfrmtxtx0\dfrmtxty0{\f1\fs20\b first page}\par} +{\par\plain\page\par} +{\pard\plain\ql\sl-200\sb40\phmrg\pvmrg\posx880\posy1280\absw1160\absh0\dxfrtext0\dfrmtxtx0\dfrmtxty0{\f1\fs20\b second page}\par} +} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 480a63b..f1e9626 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -137,6 +137,7 @@ public: void testFdo54612(); void testFdo58933(); void testFdo44053(); + void testFdo48440(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -245,6 +246,7 @@ void Test::run() {"fdo54612.rtf", &Test::testFdo54612}, {"fdo58933.rtf", &Test::testFdo58933}, {"fdo44053.rtf", &Test::testFdo44053}, + {"fdo48440.rtf", &Test::testFdo48440}, }; header(); for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i) @@ -1062,6 +1064,12 @@ void Test::testFdo44053() getProperty< uno::Sequence<text::TableColumnSeparator> >(xTableRows->getByIndex(1), "TableColumnSeparators")[0].Position); } +void Test::testFdo48440() +{ + // Page break was ignored. + 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 4964791..4f47d9d 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -1820,6 +1820,7 @@ int RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword) } else { + checkNeedPap(); sal_uInt8 sBreak[] = { 0xc }; Mapper().text(sBreak, 1); if (!m_bNeedPap) _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
