From c33068d17aaeefc0097409e87472e54bf5701a61 Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Fri, 3 May 2024 11:27:13 +0200 Subject: [PATCH] svg_loader: paintOrder property properly copied The paintOrder property set by the style was not being copied. Now fixed. --- src/loaders/svg/tvgSvgCssStyle.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/loaders/svg/tvgSvgCssStyle.cpp b/src/loaders/svg/tvgSvgCssStyle.cpp index 2826dc91..5cccce52 100644 --- a/src/loaders/svg/tvgSvgCssStyle.cpp +++ b/src/loaders/svg/tvgSvgCssStyle.cpp @@ -49,6 +49,14 @@ static void _copyStyle(SvgStyleProperty* to, const SvgStyleProperty* from) to->flagsImportance = (to->flagsImportance | SvgStyleFlags::Color); } } + if (((from->flags & SvgStyleFlags::PaintOrder) && !(to->flags & SvgStyleFlags::PaintOrder)) || + _isImportanceApplicable(to->flagsImportance, from->flagsImportance, SvgStyleFlags::PaintOrder)) { + to->paintOrder = from->paintOrder; + to->flags = (to->flags | SvgStyleFlags::PaintOrder); + if (from->flagsImportance & SvgStyleFlags::PaintOrder) { + to->flagsImportance = (to->flagsImportance | SvgStyleFlags::PaintOrder); + } + } //Fill if (((from->fill.flags & SvgFillFlags::Paint) && !(to->flags & SvgStyleFlags::Fill)) || _isImportanceApplicable(to->flagsImportance, from->flagsImportance, SvgStyleFlags::Fill)) {