diff --git a/src/Avalonia.Base/CombinedGeometry.cs b/src/Avalonia.Base/CombinedGeometry.cs
index 4b5866519b..a47e756c88 100644
--- a/src/Avalonia.Base/CombinedGeometry.cs
+++ b/src/Avalonia.Base/CombinedGeometry.cs
@@ -3,8 +3,6 @@ using System.Collections.Generic;
using System.Text;
using Avalonia.Platform;
-#nullable enable
-
namespace Avalonia.Media
{
public enum GeometryCombineMode
@@ -147,7 +145,7 @@ namespace Avalonia.Media
return new CombinedGeometry(GeometryCombineMode, Geometry1, Geometry2, Transform);
}
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected sealed override IGeometryImpl? CreateDefiningGeometry()
{
var g1 = Geometry1;
var g2 = Geometry2;
diff --git a/src/Avalonia.Base/Media/EllipseGeometry.cs b/src/Avalonia.Base/Media/EllipseGeometry.cs
index 84d74e888e..bb1263d8d5 100644
--- a/src/Avalonia.Base/Media/EllipseGeometry.cs
+++ b/src/Avalonia.Base/Media/EllipseGeometry.cs
@@ -135,7 +135,7 @@ namespace Avalonia.Media
}
///
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected sealed override IGeometryImpl? CreateDefiningGeometry()
{
var factory = AvaloniaLocator.Current.GetRequiredService();
diff --git a/src/Avalonia.Base/Media/Geometry.cs b/src/Avalonia.Base/Media/Geometry.cs
index 3e0e6018de..a66cd616a3 100644
--- a/src/Avalonia.Base/Media/Geometry.cs
+++ b/src/Avalonia.Base/Media/Geometry.cs
@@ -139,7 +139,7 @@ namespace Avalonia.Media
/// Creates the platform implementation of the geometry, without the transform applied.
///
///
- protected abstract IGeometryImpl? CreateDefiningGeometry();
+ private protected abstract IGeometryImpl? CreateDefiningGeometry();
///
/// Invalidates the platform implementation of the geometry.
diff --git a/src/Avalonia.Base/Media/GeometryGroup.cs b/src/Avalonia.Base/Media/GeometryGroup.cs
index 3e61413919..20bd297fc1 100644
--- a/src/Avalonia.Base/Media/GeometryGroup.cs
+++ b/src/Avalonia.Base/Media/GeometryGroup.cs
@@ -1,8 +1,6 @@
using Avalonia.Metadata;
using Avalonia.Platform;
-#nullable enable
-
namespace Avalonia.Media
{
///
@@ -72,7 +70,7 @@ namespace Avalonia.Media
newChildren.Parent = this;
}
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected sealed override IGeometryImpl? CreateDefiningGeometry()
{
if (_children.Count > 0)
{
diff --git a/src/Avalonia.Base/Media/LineGeometry.cs b/src/Avalonia.Base/Media/LineGeometry.cs
index 6ac92ea33b..ced208e30b 100644
--- a/src/Avalonia.Base/Media/LineGeometry.cs
+++ b/src/Avalonia.Base/Media/LineGeometry.cs
@@ -68,7 +68,7 @@ namespace Avalonia.Media
}
///
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected sealed override IGeometryImpl? CreateDefiningGeometry()
{
var factory = AvaloniaLocator.Current.GetRequiredService();
diff --git a/src/Avalonia.Base/Media/PathGeometry.cs b/src/Avalonia.Base/Media/PathGeometry.cs
index 8292afde7e..bdfbfadce4 100644
--- a/src/Avalonia.Base/Media/PathGeometry.cs
+++ b/src/Avalonia.Base/Media/PathGeometry.cs
@@ -43,7 +43,7 @@ namespace Avalonia.Media
///
/// The s.
///
- public static new PathGeometry Parse(string pathData)
+ public new static PathGeometry Parse(string pathData)
{
var pathGeometry = new PathGeometry();
@@ -81,7 +81,7 @@ namespace Avalonia.Media
set { SetValue(FillRuleProperty, value); }
}
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected sealed override IGeometryImpl? CreateDefiningGeometry()
{
var figures = Figures;
diff --git a/src/Avalonia.Base/Media/PlatformGeometry.cs b/src/Avalonia.Base/Media/PlatformGeometry.cs
index f25a14540f..e1488a8229 100644
--- a/src/Avalonia.Base/Media/PlatformGeometry.cs
+++ b/src/Avalonia.Base/Media/PlatformGeometry.cs
@@ -2,7 +2,7 @@
namespace Avalonia.Media
{
- internal class PlatformGeometry : Geometry
+ internal sealed class PlatformGeometry : Geometry
{
private readonly IGeometryImpl _geometryImpl;
@@ -16,7 +16,7 @@ namespace Avalonia.Media
return new PlatformGeometry(_geometryImpl);
}
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected override IGeometryImpl? CreateDefiningGeometry()
{
return _geometryImpl;
}
diff --git a/src/Avalonia.Base/Media/PolylineGeometry.cs b/src/Avalonia.Base/Media/PolylineGeometry.cs
index b0229b6455..47cf2f48a4 100644
--- a/src/Avalonia.Base/Media/PolylineGeometry.cs
+++ b/src/Avalonia.Base/Media/PolylineGeometry.cs
@@ -74,7 +74,7 @@ namespace Avalonia.Media
return new PolylineGeometry(Points, IsFilled);
}
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected sealed override IGeometryImpl? CreateDefiningGeometry()
{
var factory = AvaloniaLocator.Current.GetRequiredService();
var geometry = factory.CreateStreamGeometry();
diff --git a/src/Avalonia.Base/Media/RectangleGeometry.cs b/src/Avalonia.Base/Media/RectangleGeometry.cs
index 0bf9eb5664..01771242a7 100644
--- a/src/Avalonia.Base/Media/RectangleGeometry.cs
+++ b/src/Avalonia.Base/Media/RectangleGeometry.cs
@@ -47,7 +47,7 @@ namespace Avalonia.Media
///
public override Geometry Clone() => new RectangleGeometry(Rect);
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected sealed override IGeometryImpl? CreateDefiningGeometry()
{
var factory = AvaloniaLocator.Current.GetRequiredService();
diff --git a/src/Avalonia.Base/Media/StreamGeometry.cs b/src/Avalonia.Base/Media/StreamGeometry.cs
index fb79488e0f..9969376896 100644
--- a/src/Avalonia.Base/Media/StreamGeometry.cs
+++ b/src/Avalonia.Base/Media/StreamGeometry.cs
@@ -31,7 +31,7 @@ namespace Avalonia.Media
///
/// The string.
/// A .
- public static new StreamGeometry Parse(string s)
+ public new static StreamGeometry Parse(string s)
{
var streamGeometry = new StreamGeometry();
@@ -62,7 +62,7 @@ namespace Avalonia.Media
}
///
- protected override IGeometryImpl? CreateDefiningGeometry()
+ private protected override IGeometryImpl? CreateDefiningGeometry()
{
if (_impl == null)
{
diff --git a/tests/Avalonia.Base.UnitTests/Media/GeometryTests.cs b/tests/Avalonia.Base.UnitTests/Media/GeometryTests.cs
index ae8dc9dad2..6d724c86b5 100644
--- a/tests/Avalonia.Base.UnitTests/Media/GeometryTests.cs
+++ b/tests/Avalonia.Base.UnitTests/Media/GeometryTests.cs
@@ -103,7 +103,7 @@ namespace Avalonia.Base.UnitTests.Media
throw new NotImplementedException();
}
- protected override IGeometryImpl CreateDefiningGeometry()
+ private protected sealed override IGeometryImpl CreateDefiningGeometry()
{
return Mock.Of(
x => x.WithTransform(It.IsAny()) ==