Browse Source

Allow null pen in GeometryImpl.

The `pen` parameter to `GeometryImpl.GetRenderBounds` and `StrokeContains` can be null. Don't try to dereference this null!
pull/1485/head
Steven Kirk 8 years ago
parent
commit
71c25cae2d
  1. 4
      src/Windows/Avalonia.Direct2D1/Media/GeometryImpl.cs

4
src/Windows/Avalonia.Direct2D1/Media/GeometryImpl.cs

@ -27,7 +27,7 @@ namespace Avalonia.Direct2D1.Media
public Rect GetRenderBounds(Avalonia.Media.Pen pen) public Rect GetRenderBounds(Avalonia.Media.Pen pen)
{ {
var factory = AvaloniaLocator.Current.GetService<Factory>(); var factory = AvaloniaLocator.Current.GetService<Factory>();
return Geometry.GetWidenedBounds((float)pen.Thickness).ToAvalonia(); return Geometry.GetWidenedBounds((float)(pen?.Thickness ?? 0)).ToAvalonia();
} }
/// <inheritdoc/> /// <inheritdoc/>
@ -51,7 +51,7 @@ namespace Avalonia.Direct2D1.Media
/// <inheritdoc/> /// <inheritdoc/>
public bool StrokeContains(Avalonia.Media.Pen pen, Point point) public bool StrokeContains(Avalonia.Media.Pen pen, Point point)
{ {
return Geometry.StrokeContainsPoint(point.ToSharpDX(), (float)pen.Thickness); return Geometry.StrokeContainsPoint(point.ToSharpDX(), (float)(pen?.Thickness ?? 0));
} }
public ITransformedGeometryImpl WithTransform(Matrix transform) public ITransformedGeometryImpl WithTransform(Matrix transform)

Loading…
Cancel
Save