Browse Source

Don't dispose geometry impls.

We can't do this until we have ref counting infrastructure in, as the impls may still be in use by the deferred renderer.
pull/1349/head
Steven Kirk 8 years ago
parent
commit
52dcd41cd9
  1. 1
      src/Avalonia.Visuals/Media/Geometry.cs
  2. 1
      src/Skia/Avalonia.Skia/GeometryImpl.cs
  3. 2
      src/Skia/Avalonia.Skia/StreamGeometryImpl.cs
  4. 4
      src/Skia/Avalonia.Skia/TransformedGeometryImpl.cs
  5. 2
      src/Windows/Avalonia.Direct2D1/Media/GeometryImpl.cs
  6. 11
      tests/Avalonia.Visuals.UnitTests/Media/GeometryTests.cs

1
src/Avalonia.Visuals/Media/Geometry.cs

@ -131,7 +131,6 @@ namespace Avalonia.Media
protected void InvalidateGeometry()
{
_isDirty = true;
_platformImpl?.Dispose();
_platformImpl = null;
Changed?.Invoke(this, EventArgs.Empty);
}

1
src/Skia/Avalonia.Skia/GeometryImpl.cs

@ -9,7 +9,6 @@ namespace Avalonia.Skia
{
public abstract Rect Bounds { get; }
public abstract SKPath EffectivePath { get; }
public abstract void Dispose();
public abstract bool FillContains(Point point);
public abstract Rect GetRenderBounds(Pen pen);
public abstract IGeometryImpl Intersect(IGeometryImpl geometry);

2
src/Skia/Avalonia.Skia/StreamGeometryImpl.cs

@ -28,8 +28,6 @@ namespace Avalonia.Skia
};
}
public override void Dispose() => _path.Dispose();
public IStreamGeometryContextImpl Open()
{
_path = new SKPath();

4
src/Skia/Avalonia.Skia/TransformedGeometryImpl.cs

@ -23,10 +23,6 @@ namespace Avalonia.Skia
public override Rect Bounds => SourceGeometry.Bounds.TransformToAABB(Transform);
public override void Dispose()
{
}
public override bool FillContains(Point point)
{
// TODO: Not supported by SkiaSharp yet, so use expanded Rect

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

@ -23,8 +23,6 @@ namespace Avalonia.Direct2D1.Media
/// <inheritdoc/>
public Geometry Geometry { get; }
public void Dispose() => Geometry.Dispose();
/// <inheritdoc/>
public Rect GetRenderBounds(Avalonia.Media.Pen pen)
{

11
tests/Avalonia.Visuals.UnitTests/Media/GeometryTests.cs

@ -31,17 +31,6 @@ namespace Avalonia.Visuals.UnitTests.Media
Assert.True(raised);
}
[Fact]
public void Old_PlatformImpl_Is_Disposed_When_Updated()
{
var target = new TestGeometry();
var platformImpl = target.PlatformImpl;
target.Foo = true;
Mock.Get(platformImpl).Verify(x => x.Dispose());
}
[Fact]
public void Setting_Transform_Causes_Changed_To_Be_Raised()
{

Loading…
Cancel
Save