diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2013-05-21 14:56:45 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-05-21 17:46:49 +0200 |
commit | 0b22370730ef1e8a34c2b15397484cbd2019dd57 (patch) | |
tree | b37b95f427ef4c73488e3057144ac05dd92fbef9 /writerfilter/source/rtftok | |
parent | a9d593005b7b3ee4ff6352a883031adec5fd01f1 (diff) |
bnc#818997 RTF import: don't ignore page breaks between shapes
Change-Id: Ief71ba9a3c60356714e73d08e88d0a3105b17b1a
(cherry picked from commit b40fe8e5a5037d2745cc7b1c9cc408ce6c79b9d9)
Diffstat (limited to 'writerfilter/source/rtftok')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 4 | ||||
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.hxx | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index 9943d7471147..a5e3f755cda4 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -230,6 +230,7 @@ RTFDocumentImpl::RTFDocumentImpl(uno::Reference<uno::XComponentContext> const& x m_bFirstRun(true), m_bNeedPap(true), m_bNeedCr(false), + m_bNeedCrOrig(false), m_bNeedPar(true), m_bNeedFinalPar(false), m_aListTableSprms(), @@ -1317,6 +1318,7 @@ int RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword) m_aStates.top().nDestinationState = DESTINATION_SHAPEPROPERTYVALUE; break; case RTF_SHP: + m_bNeedCrOrig = m_bNeedCr; m_aStates.top().nDestinationState = DESTINATION_SHAPE; break; case RTF_SHPINST: @@ -1937,6 +1939,7 @@ int RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword) Mapper().text(sBreak, 1); if (!m_bNeedPap) parBreak(); + m_bNeedCr = true; } } break; @@ -4134,6 +4137,7 @@ int RTFDocumentImpl::popState() } break; case DESTINATION_SHAPE: + m_bNeedCr = m_bNeedCrOrig; if (aState.aFrame.inFrame()) { // parBreak modify m_aStates.top() so we can't apply resetFrame directly on aState diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx index 163413b78542..d6216f48ee6d 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx @@ -516,6 +516,8 @@ namespace writerfilter { bool m_bNeedPap; /// If we need to emit a CR at the end of substream. bool m_bNeedCr; + /// Original value of m_bNeedCr -- saved/restored before/after textframes. + bool m_bNeedCrOrig; bool m_bNeedPar; /// If set, an empty paragraph will be added at the end of the document. bool m_bNeedFinalPar; |