Ver código fonte

Fixed delete multiple vector layers crash

flabbet 10 meses atrás
pai
commit
4b04439a56

+ 5 - 0
src/PixiEditor.ChangeableDocument/Changeables/Graph/Nodes/StructureNode.cs

@@ -119,6 +119,11 @@ public abstract class StructureNode : RenderNode, IReadOnlyStructureNode, IRende
 
     public void RenderForOutput(RenderContext context, DrawingSurface renderTarget, RenderOutputProperty output)
     {
+        if(IsDisposed)
+        {
+            return;
+        }
+        
         var renderObjectContext = CreateSceneContext(context, renderTarget, output);
 
         int renderSaved = renderTarget.Canvas.Save();

+ 5 - 0
src/PixiEditor/Models/DocumentModels/UpdateableChangeExecutors/ComplexShapeToolExecutor.cs

@@ -61,6 +61,11 @@ internal abstract class ComplexShapeToolExecutor<T> : SimpleShapeToolExecutor wh
         {
             var node = (VectorLayerNode)internals.Tracker.Document.FindMember(member.Id);
 
+            if (node == null)
+            {
+                return ExecutionState.Error;
+            }
+
             if (!InitShapeData(node.ShapeData))
             {
                 ActiveMode = ShapeToolMode.Preview;