From 61b933bcd8e4219cb2fc9249dfbc264a6869789c Mon Sep 17 00:00:00 2001 From: H1Gdev Date: Mon, 11 Jan 2021 16:54:37 +0900 Subject: [PATCH] Fix fallback color (#792) - Make up for PR #564. - Fixes part of #779. --- Source/Painting/SvgDeferredPaintServer.cs | 6 ++++-- doc/ReleaseNotes.md | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Source/Painting/SvgDeferredPaintServer.cs b/Source/Painting/SvgDeferredPaintServer.cs index cf4976a..4ff9283 100644 --- a/Source/Painting/SvgDeferredPaintServer.cs +++ b/Source/Painting/SvgDeferredPaintServer.cs @@ -72,7 +72,9 @@ namespace Svg _concreteServer = styleOwner.OwnerDocument.IdManager.GetElementById(DeferredId) as SvgPaintServer; _fallbackServer = FallbackServer; - if (!(_fallbackServer is SvgColourServer || + if (_fallbackServer == null) + _fallbackServer = None; + else if (!(_fallbackServer is SvgColourServer || (_fallbackServer is SvgDeferredPaintServer && string.Equals(((SvgDeferredPaintServer)_fallbackServer).DeferredId, "currentColor")))) _fallbackServer = Inherit; } @@ -83,7 +85,7 @@ namespace Svg public override Brush GetBrush(SvgVisualElement styleOwner, ISvgRenderer renderer, float opacity, bool forStroke = false) { EnsureServer(styleOwner); - return (_concreteServer ?? _fallbackServer ?? NotSet).GetBrush(styleOwner, renderer, opacity, forStroke); + return _concreteServer?.GetBrush(styleOwner, renderer, opacity, forStroke) ?? _fallbackServer?.GetBrush(styleOwner, renderer, opacity, forStroke) ?? NotSet?.GetBrush(styleOwner, renderer, opacity, forStroke); } public override SvgElement DeepCopy() diff --git a/doc/ReleaseNotes.md b/doc/ReleaseNotes.md index 59feea5..a92c39c 100644 --- a/doc/ReleaseNotes.md +++ b/doc/ReleaseNotes.md @@ -20,6 +20,7 @@ The release versions are NuGet releases. (see [#634](https://github.com/vvvv/SVG/issues/634) * fixed rendering of text-anchor `middle` (see [#769](https://github.com/vvvv/SVG/issues/769) * fixed opacity not correctly inherited issue (see [#777](https://github.com/vvvv/SVG/issues/777) and [PR #788](https://github.com/vvvv/SVG/pull/788)) +* fixed fallback color (see [#779](https://github.com/vvvv/SVG/issues/779) and [PR #792](https://github.com/vvvv/SVG/pull/792)) ## [Version 3.1.1](https://www.nuget.org/packages/Svg/3.1.1)