diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-12-08 14:04:16 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-12-08 14:35:24 +0100 |
commit | b4e305d778d153fa768a8c8cabd111efdd34c2fa (patch) | |
tree | 464d1ea3fb16d305bfa8cd49bd0b0e4dd62d9fab /writerfilter | |
parent | 7061f72159e38e76134bc7fefc8a75cd233889cf (diff) |
fdo#49934 fix RTF import of column break in case no columns are defined
It turns out on that case the column break should be parsed as a page
break.
Change-Id: I5dddc8f334fab35bc2ff03fd8127989ab6a601f3
(cherry picked from commit 257a4090af068085143d71d60e6032ba0b998804)
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 78bd1058fa56..54390eaa8070 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -1759,10 +1759,23 @@ int RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword) break; case RTF_COLUMN: { - sal_uInt8 sBreak[] = { 0xe }; - Mapper().startCharacterGroup(); - Mapper().text(sBreak, 1); - Mapper().endCharacterGroup(); + bool bColumns = false; // If we have multiple columns + RTFValue::Pointer_t pCols = m_aStates.top().aSectionSprms.find(NS_ooxml::LN_EG_SectPrContents_cols); + if (pCols.get()) + { + RTFValue::Pointer_t pNum = pCols->getAttributes().find(NS_ooxml::LN_CT_Columns_num); + if (pNum.get() && pNum->getInt() > 1) + bColumns = true; + } + if (bColumns) + { + sal_uInt8 sBreak[] = { 0xe }; + Mapper().startCharacterGroup(); + Mapper().text(sBreak, 1); + Mapper().endCharacterGroup(); + } + else + dispatchSymbol(RTF_PAGE); } break; case RTF_CHFTN: |