summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/DomainMapper.cxx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-05-21 14:56:45 +0200
committerMiklos Vajna <vmiklos@suse.cz>2013-05-21 18:05:01 +0200
commit131b66fb2d30bd5501d233284061c9f9c14def22 (patch)
tree94b4a5a3ada98392bf6110a80e21a4b0398ec772 /writerfilter/source/dmapper/DomainMapper.cxx
parent3ac737503d44d16a2519342893ef40cbc18acf23 (diff)
bnc#818997 RTF import: don't ignore page breaks between shapes
(cherry picked from commit b40fe8e5a5037d2745cc7b1c9cc408ce6c79b9d9) Conflicts: sw/qa/extras/rtfimport/rtfimport.cxx writerfilter/source/dmapper/DomainMapper.cxx writerfilter/source/rtftok/rtfdocumentimpl.cxx Change-Id: Ief71ba9a3c60356714e73d08e88d0a3105b17b1a
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapper.cxx')
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 1a33f6e8fa04..58cbb4d4d048 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -3524,6 +3524,19 @@ void DomainMapper::markLastParagraphInSection( )
void DomainMapper::lcl_startShape( uno::Reference< drawing::XShape > xShape )
{
+ // If there is a deferred page break, handle it now, so that the
+ // started shape will be on the correct page.
+ if (m_pImpl->isBreakDeferred(PAGE_BREAK))
+ {
+ m_pImpl->clearDeferredBreak(PAGE_BREAK);
+ lcl_startCharacterGroup();
+ sal_uInt8 sBreak[] = { 0xd };
+ lcl_text(sBreak, 1);
+ lcl_endCharacterGroup();
+ lcl_endParagraphGroup();
+ lcl_startParagraphGroup();
+ m_pImpl->GetTopContext()->Insert(PROP_BREAK_TYPE, true, uno::makeAny( com::sun::star::style::BreakType_PAGE_BEFORE));
+ }
m_pImpl->PushShapeContext( xShape );
lcl_startParagraphGroup();
}