Pārlūkot izejas kodu

Don't dispose replaced visual nodes if they're replaced with themselves.

Jeremy Koritzinsky 7 gadi atpakaļ
vecāks
revīzija
458d8bf760

+ 5 - 2
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(); 
+            }
         }
 
         /// <summary>
@@ -329,7 +332,7 @@ namespace Avalonia.Rendering.SceneGraph
                 _drawOperationsCloned = false;
             }
         }
-
+        
         public void Dispose()
         {
             foreach (var child in Children)