summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorLászló Németh <nemeth@numbertext.org>2020-02-07 15:06:50 +0100
committerMiklos Vajna <vmiklos@collabora.com>2020-05-19 09:11:35 +0200
commit5b82cff0e5b353b46c24aa3ab42dee514d296f98 (patch)
tree2d9b24519b523cdf1111d48cee6a00667bc11e65 /writerfilter
parent04f4484992e8d1260e5a6c21606ba4632a7df035 (diff)
tdf#130494: DOCX import: limit paragraph-level character property
expansion for the whole table paragraph based on the last character context. regression from 2ab481b038b62b1ff576ac4d49d03c1798cd7f84 (tdf#90069 DOCX: fix character style of new table rows) (cherry picked from commit abb9c7db8bcc06f907d39a7811711882161d5803) Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport11.cxx Change-Id: I49da23c268436488ff1537771869c38108113c12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94317 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx19
1 files changed, 15 insertions, 4 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index bcfd5a152887..f2c26fae9672 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1571,14 +1571,25 @@ void DomainMapper_Impl::finishParagraph( const PropertyMapPtr& pPropertyMap, con
// fix table paragraph properties
if ( xParaProps && m_nTableDepth > 0 )
{
- uno::Sequence< beans::PropertyValue > aValues = pParaContext->GetPropertyValues(false);
+ uno::Sequence< beans::PropertyValue > aParaProps = pParaContext->GetPropertyValues(false);
// tdf#90069 in tables, apply paragraph level character style also on
// paragraph level to support its copy during insertion of new table rows
- for( const auto& rProp : aValues )
+ for( const auto& rParaProp : aParaProps )
{
- if ( rProp.Name.startsWith("Char") && rProp.Name != "CharStyleName" && rProp.Name != "CharInteropGrabBag" )
- xParaProps->setPropertyValue( rProp.Name, rProp.Value );
+ if ( m_pLastCharacterContext.get() && rParaProp.Name.startsWith("Char") && rParaProp.Name != "CharStyleName" && rParaProp.Name != "CharInteropGrabBag" )
+ {
+ const uno::Sequence< beans::PropertyValue > aLastCharProps = m_pLastCharacterContext->GetPropertyValues( );
+
+ for( const auto& rLastCharProp : aLastCharProps )
+ {
+ if ( rLastCharProp == rParaProp )
+ {
+ xParaProps->setPropertyValue( rParaProp.Name, rParaProp.Value );
+ break;
+ }
+ }
+ }
}
// tdf#128959 table paragraphs haven't got window and orphan controls