diff --git a/src/Avalonia.Visuals/Media/DrawingContext.cs b/src/Avalonia.Visuals/Media/DrawingContext.cs
index e7d6df5a93..fd593db991 100644
--- a/src/Avalonia.Visuals/Media/DrawingContext.cs
+++ b/src/Avalonia.Visuals/Media/DrawingContext.cs
@@ -109,6 +109,8 @@ namespace Avalonia.Media
/// The geometry.
public void DrawGeometry(IBrush brush, Pen pen, Geometry geometry)
{
+ Contract.Requires(geometry != null);
+
if (brush != null || PenIsVisible(pen))
{
PlatformImpl.DrawGeometry(brush, pen, geometry.PlatformImpl);
diff --git a/src/Avalonia.Visuals/Media/GeometryDrawing.cs b/src/Avalonia.Visuals/Media/GeometryDrawing.cs
index a26a5341c8..ac0cc1c17d 100644
--- a/src/Avalonia.Visuals/Media/GeometryDrawing.cs
+++ b/src/Avalonia.Visuals/Media/GeometryDrawing.cs
@@ -31,7 +31,10 @@
public override void Draw(DrawingContext context)
{
- context.DrawGeometry(Brush, Pen, Geometry);
+ if (Geometry != null)
+ {
+ context.DrawGeometry(Brush, Pen, Geometry);
+ }
}
public override Rect GetBounds()
@@ -41,4 +44,4 @@
return Geometry?.GetRenderBounds(pen) ?? new Rect();
}
}
-}
\ No newline at end of file
+}