瀏覽代碼

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

Jeremy Koritzinsky 7 年之前
父節點
當前提交
458d8bf760
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs

+ 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)