diff --git a/src/Gtk/Avalonia.Cairo/Media/StreamGeometryContextImpl.cs b/src/Gtk/Avalonia.Cairo/Media/StreamGeometryContextImpl.cs index 1938d7e49e..0aca4b0b33 100644 --- a/src/Gtk/Avalonia.Cairo/Media/StreamGeometryContextImpl.cs +++ b/src/Gtk/Avalonia.Cairo/Media/StreamGeometryContextImpl.cs @@ -91,9 +91,6 @@ namespace Avalonia.Cairo.Media { if (isClosed) _context.ClosePath (); - - Path = _context.CopyPath (); - Bounds = _context.FillExtents ().ToAvalonia (); } } @@ -105,7 +102,13 @@ namespace Avalonia.Cairo.Media public void Dispose() { - _context.Dispose (); + if (this.Path == null) + { + Path = _context.CopyPath(); + Bounds = _context.FillExtents().ToAvalonia(); + } + + _context.Dispose (); _surf.Dispose (); } }