From 3ea80a46860f7fe510b206845b56daad1e2d1c56 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 20 Jun 2014 12:52:03 +0200 Subject: RTF import: handle column break at the very start of the document Change-Id: Ib7d166bf1b1e5d5216d822b2b0396aa4dc535c6f --- sw/qa/extras/rtfimport/data/column-break.rtf | 1 + sw/qa/extras/rtfimport/rtfimport.cxx | 6 ++++++ writerfilter/source/rtftok/rtfdocumentimpl.cxx | 1 + 3 files changed, 8 insertions(+) create mode 100644 sw/qa/extras/rtfimport/data/column-break.rtf diff --git a/sw/qa/extras/rtfimport/data/column-break.rtf b/sw/qa/extras/rtfimport/data/column-break.rtf new file mode 100644 index 000000000000..185fcd0a8205 --- /dev/null +++ b/sw/qa/extras/rtfimport/data/column-break.rtf @@ -0,0 +1 @@ +{\rtf1\cols2\column hello\par} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 3dec26ee08ae..d834fb878ef8 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -1759,6 +1759,12 @@ DECLARE_RTFIMPORT_TEST(testFontOverride, "font-override.rtf") CPPUNIT_ASSERT_EQUAL(OUString("Arial"), getProperty(getRun(getParagraph(1), 1), "CharFontName")); } +DECLARE_RTFIMPORT_TEST(testColumnBreak, "column-break.rtf") +{ + // Column break at the very start of the document was ignored. + CPPUNIT_ASSERT_EQUAL(style::BreakType_COLUMN_BEFORE, getProperty(getParagraph(2), "BreakType")); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 3a7ebfbe7cea..1be8c91c2edf 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -2243,6 +2243,7 @@ int RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword) if (pNum.get() && pNum->getInt() > 1) bColumns = true; } + checkFirstRun(); if (bColumns) { sal_uInt8 sBreak[] = { 0xe }; -- cgit