diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/GeometryNode.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/GeometryNode.cs index ce7e6f9b1d..dedb1736e2 100644 --- a/src/Avalonia.Visuals/Rendering/SceneGraph/GeometryNode.cs +++ b/src/Avalonia.Visuals/Rendering/SceneGraph/GeometryNode.cs @@ -39,7 +39,8 @@ namespace Avalonia.Rendering.SceneGraph public bool HitTest(Point p) { p *= Transform.Invert(); - return Geometry.FillContains(p) || Geometry.StrokeContains(Pen, p); + return (Brush != null && Geometry.FillContains(p)) || + (Pen != null && Geometry.StrokeContains(Pen, p)); } } } diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/RectangleNode.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/RectangleNode.cs index 4e8da4d461..6c37c30f9c 100644 --- a/src/Avalonia.Visuals/Rendering/SceneGraph/RectangleNode.cs +++ b/src/Avalonia.Visuals/Rendering/SceneGraph/RectangleNode.cs @@ -49,6 +49,7 @@ namespace Avalonia.Rendering.SceneGraph public bool HitTest(Point p) { + // TODO: Only test interior when Brush != null. return (Rect * Transform).Contains(p); } }