drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
New commits: commit a96c9d7c5bb1ca6eaf72da49e29489f0f0ab1545 Author: Armin Le Grand (allotropia) <armin.le.grand.ext...@allotropia.de> AuthorDate: Sat Sep 24 16:28:03 2022 +0200 Commit: Armin Le Grand <armin.le.gr...@me.com> CommitDate: Mon Sep 26 09:49:20 2022 +0200 tdf#151104 correct missing ColorModification Presentation still uses Metafiles as transfer for Graphic content, so uses VclMetafileProcessor2D. Unfortunately processPolyPolygonGraphicPrimitive2D does not support an active BColorModifierStack, so use the default as working fallback to create correct GraphicData for the Metafile. Change-Id: Ia439b241cb414667263ef653b507ad8b7fecde61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140550 Tested-by: Jenkins Reviewed-by: Armin Le Grand <armin.le.gr...@me.com> diff --git a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx index 25142b778278..7b46015003fa 100644 --- a/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx @@ -837,8 +837,17 @@ void VclMetafileProcessor2D::processBasePrimitive2D(const primitive2d::BasePrimi } case PRIMITIVE2D_ID_POLYPOLYGONGRAPHICPRIMITIVE2D: { - processPolyPolygonGraphicPrimitive2D( - static_cast<const primitive2d::PolyPolygonGraphicPrimitive2D&>(rCandidate)); + if (maBColorModifierStack.count()) + { + // tdf#151104 unfortunately processPolyPolygonGraphicPrimitive2D below + // does not support an active BColorModifierStack, so use the default + process(rCandidate); + } + else + { + processPolyPolygonGraphicPrimitive2D( + static_cast<const primitive2d::PolyPolygonGraphicPrimitive2D&>(rCandidate)); + } break; } case PRIMITIVE2D_ID_POLYPOLYGONHATCHPRIMITIVE2D: