summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/core/data/ooxml/pass/fdo80580.docxbin0 -> 24921 bytes
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx5
2 files changed, 3 insertions, 2 deletions
diff --git a/sw/qa/core/data/ooxml/pass/fdo80580.docx b/sw/qa/core/data/ooxml/pass/fdo80580.docx
new file mode 100644
index 000000000000..90793fe9b4b4
--- /dev/null
+++ b/sw/qa/core/data/ooxml/pass/fdo80580.docx
Binary files differ
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 17cbe64d3445..dad72fa496e0 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1190,8 +1190,9 @@ void DomainMapper_Impl::appendTextPortion( const OUString& rString, PropertyMapP
if (m_aTextAppendStack.empty())
return;
-
- if( pPropertyMap == m_pTopContext && !deferredCharacterProperties.empty())
+ // Before placing call to processDeferredCharacterProperties(), TopContextType should be CONTEXT_CHARACTER
+ // processDeferredCharacterProperties() invokes only if character inserted
+ if( pPropertyMap == m_pTopContext && !deferredCharacterProperties.empty() && (GetTopContextType() == CONTEXT_CHARACTER) )
processDeferredCharacterProperties();
uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend;
if(xTextAppend.is() && ! getTableManager( ).isIgnore())