From d8615643dd9b0ec242c943da22c88372e0fb8b02 Mon Sep 17 00:00:00 2001 From: Karnah Date: Thu, 21 Jun 2018 12:47:38 +0500 Subject: [PATCH] Fixed NullReferenceException for ImageBush with null Source --- .../Media/DrawingContextImpl.cs | 2 +- .../Media/ImageBrushTests.cs | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs index bdbbdab2b9..479db51be4 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs @@ -394,7 +394,7 @@ namespace Avalonia.Direct2D1.Media { return new RadialGradientBrushImpl(radialGradientBrush, _renderTarget, destinationSize); } - else if (imageBrush != null) + else if (imageBrush?.Source != null) { return new ImageBrushImpl( imageBrush, diff --git a/tests/Avalonia.RenderTests/Media/ImageBrushTests.cs b/tests/Avalonia.RenderTests/Media/ImageBrushTests.cs index 0107002274..d1f51a1a0c 100644 --- a/tests/Avalonia.RenderTests/Media/ImageBrushTests.cs +++ b/tests/Avalonia.RenderTests/Media/ImageBrushTests.cs @@ -32,6 +32,23 @@ namespace Avalonia.Direct2D1.RenderTests.Media get { return System.IO.Path.Combine(OutputPath, "github_icon_small.png"); } } + [Fact] + public async Task ImageBrush_NullSource() + { + Decorator target = new Decorator + { + Width = 200, + Height = 200, + Child = new Rectangle + { + Margin = new Thickness(8), + Fill = new ImageBrush() + } + }; + + await RenderToFile(target); + } + [Fact] public async Task ImageBrush_Tile_Fill() {