summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx4
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx2
-rw-r--r--writerfilter/source/rtftok/rtfsdrimport.cxx10
3 files changed, 10 insertions, 6 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index be34248f79ba..08fef7a4d08f 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -3624,9 +3624,11 @@ void RTFDocumentImpl::setDestinationText(OUString& rString)
m_aStates.top().aDestinationText.append(rString);
}
-void RTFDocumentImpl::replayShapetext()
+bool RTFDocumentImpl::replayShapetext()
{
+ bool bRet = !m_aShapetextBuffer.empty();
replayBuffer(m_aShapetextBuffer);
+ return bRet;
}
bool RTFDocumentImpl::getSkipUnknown()
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 5756b5a6aa11..9778ce72bd1e 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -368,7 +368,7 @@ namespace writerfilter {
/// Resolve a picture: If not inline, then anchored.
int resolvePict(bool bInline);
void runBreak();
- void replayShapetext();
+ bool replayShapetext();
bool getSkipUnknown();
void setSkipUnknown(bool bSkipUnknown);
diff --git a/writerfilter/source/rtftok/rtfsdrimport.cxx b/writerfilter/source/rtftok/rtfsdrimport.cxx
index ab4118ceb823..dba454532991 100644
--- a/writerfilter/source/rtftok/rtfsdrimport.cxx
+++ b/writerfilter/source/rtftok/rtfsdrimport.cxx
@@ -316,10 +316,12 @@ void RTFSdrImport::resolve(RTFShape& rShape)
// Send it to dmapper
m_rImport.Mapper().startShape(xShape);
m_rImport.Mapper().startParagraphGroup();
- m_rImport.replayShapetext();
- m_rImport.Mapper().startCharacterGroup();
- m_rImport.runBreak();
- m_rImport.Mapper().endCharacterGroup();
+ if (m_rImport.replayShapetext())
+ {
+ m_rImport.Mapper().startCharacterGroup();
+ m_rImport.runBreak();
+ m_rImport.Mapper().endCharacterGroup();
+ }
m_rImport.Mapper().endParagraphGroup();
m_rImport.Mapper().endShape();
}