diff options
Diffstat (limited to 'writerfilter/source/rtftok/rtfdocumentimpl.cxx')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx index b5a96b401e89..f45e9b484cfd 100644 --- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx +++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx @@ -487,12 +487,10 @@ RTFDocumentImpl::getProperties(RTFSprms& rAttributes, RTFSprms const& rSprms, Id RTFSprms aStyleSprms; RTFSprms aStyleAttributes; // Ensure the paragraph style is a flat list. - if (!nStyleType || nStyleType == NS_ooxml::LN_Value_ST_StyleType_paragraph) - { - RTFReferenceProperties& rProps - = *static_cast<RTFReferenceProperties*>(it->second.get()); - lcl_copyFlatten(rProps, aStyleAttributes, aStyleSprms); - } + // Take paragraph style into account for character properties as well, + // as paragraph style may contain character properties. + RTFReferenceProperties& rProps = *static_cast<RTFReferenceProperties*>(it->second.get()); + lcl_copyFlatten(rProps, aStyleAttributes, aStyleSprms); if (itChar != m_aStyleTableEntries.end()) { @@ -506,8 +504,8 @@ RTFDocumentImpl::getProperties(RTFSprms& rAttributes, RTFSprms const& rSprms, Id } // Get rid of direct formatting what is already in the style. - RTFSprms const sprms(aSprms.cloneAndDeduplicate(aStyleSprms)); - RTFSprms const attributes(rAttributes.cloneAndDeduplicate(aStyleAttributes)); + RTFSprms const sprms(aSprms.cloneAndDeduplicate(aStyleSprms, nStyleType)); + RTFSprms const attributes(rAttributes.cloneAndDeduplicate(aStyleAttributes, nStyleType)); return new RTFReferenceProperties(attributes, sprms); } |