From 880a97471ceaf3db11ba484492673dc73003515a Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 15 Jan 2016 17:52:46 +0100 Subject: [PATCH] Fix potential NRE. --- src/Shared/RenderHelpers/TileBrushImplHelper.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Shared/RenderHelpers/TileBrushImplHelper.cs b/src/Shared/RenderHelpers/TileBrushImplHelper.cs index 408a9cd851..f2c08ec930 100644 --- a/src/Shared/RenderHelpers/TileBrushImplHelper.cs +++ b/src/Shared/RenderHelpers/TileBrushImplHelper.cs @@ -47,14 +47,17 @@ namespace Perspex.RenderHelpers return; var layoutable = visual as ILayoutable; - if (layoutable?.IsArrangeValid == false) + if (layoutable != null) { - layoutable.Measure(Size.Infinity); - layoutable.Arrange(new Rect(layoutable.DesiredSize)); + if (layoutable.IsArrangeValid == false) + { + layoutable.Measure(Size.Infinity); + layoutable.Arrange(new Rect(layoutable.DesiredSize)); + } + + _imageSize = layoutable.Bounds.Size; + IsValid = true; } - //I have no idea why are we using layoutable after `as` cast, but it was in original VisualBrush code by @grokys - _imageSize = layoutable.Bounds.Size; - IsValid = true; } else return;