writerfilter/source/dmapper/DomainMapper_Impl.cxx | 11 ++++++++++- writerfilter/source/dmapper/DomainMapper_Impl.hxx | 1 + 2 files changed, 11 insertions(+), 1 deletion(-)
New commits: commit 9486851baea59d16c449d79bd61a38f6e686cfe0 Author: Miklos Vajna <vmik...@suse.cz> Date: Tue May 29 15:31:11 2012 +0200 n#760764 dmapper: don't ignore character properties of text fields Change-Id: If1497d78b8c31a4b2e5677bb57f40a0343a819a9 diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index c73b1cc..01d4b46 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -196,6 +196,7 @@ DomainMapper_Impl::DomainMapper_Impl( m_bIsColumnBreakDeferred( false ), m_bIsPageBreakDeferred( false ), m_pLastSectionContext( ), + m_pLastCharacterContext(), m_nCurrentTabStopIndex( 0 ), m_sCurrentParaStyleId(), m_bInStyleSheetImport( false ), @@ -361,6 +362,8 @@ void DomainMapper_Impl::PopProperties(ContextType eId) { m_pLastSectionContext = m_aPropertyStacks[eId].top( ); } + else if (eId == CONTEXT_CHARACTER) + m_pLastCharacterContext = m_aPropertyStacks[eId].top(); m_aPropertyStacks[eId].pop(); m_aContextStack.pop(); @@ -3173,7 +3176,13 @@ void DomainMapper_Impl::PopFieldContext() if( xToInsert.is() ) { uno::Reference< text::XTextAppendAndConvert > xTextAppendAndConvert( xTextAppend, uno::UNO_QUERY_THROW ); - xTextAppendAndConvert->appendTextContent( xToInsert, uno::Sequence< beans::PropertyValue >() ); + uno::Sequence<beans::PropertyValue> aValues; + // Character properties of the field show up here the + // last (always empty) run. Inherit character + // properties from there. + if (m_pLastCharacterContext.get()) + aValues = m_pLastCharacterContext->GetPropertyValues(); + xTextAppendAndConvert->appendTextContent(xToInsert, aValues); } else { diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 8fa3f4a..1dc1ebc 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -326,6 +326,7 @@ private: PropertyMapPtr m_pTopContext; PropertyMapPtr m_pLastSectionContext; + PropertyMapPtr m_pLastCharacterContext; ::std::vector<DeletableTabStop> m_aCurrentTabStops; sal_uInt32 m_nCurrentTabStopIndex; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits