diff options
-rw-r--r-- | svgio/source/svgreader/svgstyleattributes.cxx | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx index fb750fe9933b..56a1ac5235eb 100644 --- a/svgio/source/svgreader/svgstyleattributes.cxx +++ b/svgio/source/svgreader/svgstyleattributes.cxx @@ -263,9 +263,6 @@ namespace svgio // dismantle to geometry and add needed primitives const basegfx::BColor* pFill = getFill(); const SvgGradientNode* pFillGradient = getSvgGradientNodeFill(); - const SvgStyleAttributes* pSvgStyleAttributes = getParentStyle(); - const SvgGradientNode* pParentFillGradient = - pSvgStyleAttributes ? pSvgStyleAttributes->getSvgGradientNodeFill() : nullptr; const SvgPatternNode* pFillPattern = getSvgPatternNodeFill(); const basegfx::BColor* pStroke = getStroke(); const SvgGradientNode* pStrokeGradient = getSvgGradientNodeStroke(); @@ -306,20 +303,20 @@ namespace svgio const bool bStrokeUsed(pStroke || pStrokeGradient || pStrokePattern); - if(pFill && (!pFillGradient || pParentFillGradient)) - { - // add the already prepared primitives for single color fill - rTarget.append(rSource); - } // add fill. Use geometry even for simple color fill when stroke // is used, else text rendering and the geometry-based stroke will // normally not really match optically due to diverse system text // renderers - else if(aMergedArea.count() && (pFillGradient || pFillPattern || bStrokeUsed)) + if(aMergedArea.count() && (pFillGradient || pFillPattern || bStrokeUsed)) { // create text fill content based on geometry add_fill(aMergedArea, rTarget, aMergedArea.getB2DRange()); } + else if(pFill) + { + // add the already prepared primitives for single color fill + rTarget.append(rSource); + } // add stroke if(aMergedArea.count() && bStrokeUsed) |