diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs index 3cb7e53d21..427f819200 100644 --- a/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs +++ b/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs @@ -148,7 +148,10 @@ namespace Avalonia.Rendering.SceneGraph EnsureChildrenCreated(); var old = _children[index]; _children[index] = node; - old.Dispose(); + if (node != old) + { + old.Dispose(); + } } /// @@ -329,7 +332,7 @@ namespace Avalonia.Rendering.SceneGraph _drawOperationsCloned = false; } } - + public void Dispose() { foreach (var child in Children)