summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/DomainMapper_Impl.cxx
diff options
context:
space:
mode:
authorJustin Luth <justin.luth@collabora.com>2024-01-17 22:02:48 -0500
committerMiklos Vajna <vmiklos@collabora.com>2024-01-22 14:22:11 +0100
commit5120cc702741ee3bdded80336f33362e42bf4276 (patch)
tree41dd2f4b87729177f9316fd6b9d6bf1fb08d3d2b /writerfilter/source/dmapper/DomainMapper_Impl.cxx
parent0b03dff37f4cad722819f36d5cf3bd39fb46d8ed (diff)
tdf#159158 DOCX import: shape's last duplicate z-index wins
It looks like for DOCX a duplicate always comes out on top, which is the exact opposite of what we have been doing so far. The ability to switch between "old" and "new" style was added for RTF's benefit, and cautiously expanded to include when RTF and DOCX IMPORT_AS_DETECTED_INLINE. This does not affect RTF, since AFAIK RTF cannot contain VML-Z-ORDER properties. Change-Id: I110e3db3fa504f1ae3a5bba5979b40f0c00a467e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162261 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapper_Impl.cxx')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 86065066403e..e92b5c9e76d6 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -4732,7 +4732,8 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape
GraphicZOrderHelper* pZOrderHelper = m_rDMapper.graphicZOrderHelper();
sal_Int32 zOrder(0);
rProp.Value >>= zOrder;
- xShapePropertySet->setPropertyValue( "ZOrder", uno::Any(pZOrderHelper->findZOrder(zOrder)));
+ xShapePropertySet->setPropertyValue("ZOrder",
+ uno::Any(pZOrderHelper->findZOrder(zOrder, /*LastDuplicateWins*/true)));
pZOrderHelper->addItem(xShapePropertySet, zOrder);
xShapePropertySet->setPropertyValue(getPropertyName( PROP_OPAQUE ), uno::Any( zOrder >= 0 ) );
checkZOrderStatus = true;
@@ -4776,7 +4777,8 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape
GraphicZOrderHelper* pZOrderHelper = m_rDMapper.graphicZOrderHelper();
sal_Int32 zOrder(0);
rProp.Value >>= zOrder;
- xShapePropertySet->setPropertyValue( "ZOrder", uno::Any(pZOrderHelper->findZOrder(zOrder)));
+ xShapePropertySet->setPropertyValue("ZOrder",
+ uno::Any(pZOrderHelper->findZOrder(zOrder, /*LastDuplicateWins*/true)));
pZOrderHelper->addItem(xShapePropertySet, zOrder);
xShapePropertySet->setPropertyValue(getPropertyName( PROP_OPAQUE ), uno::Any( zOrder >= 0 ) );
checkZOrderStatus = true;