Sfoglia il codice sorgente

Some checks and better undo

flabbet 7 mesi fa
parent
commit
26409ed762

+ 3 - 0
src/PixiEditor/Models/DocumentModels/UpdateableChangeExecutors/LineExecutor.cs

@@ -79,6 +79,9 @@ internal abstract class LineExecutor<T> : SimpleShapeToolExecutor where T : ILin
         if (member is IVectorLayerHandler)
         {
             var node = (VectorLayerNode)internals.Tracker.Document.FindMember(member.Id);
+            
+            if(node is null)
+                return ExecutionState.Error;
 
             if (node.ShapeData is not IReadOnlyLineData data)
             {

+ 1 - 1
src/PixiEditor/Models/DocumentModels/UpdateableChangeExecutors/TransformSelectedExecutor.cs

@@ -259,7 +259,7 @@ internal class TransformSelectedExecutor : UpdateableChangeExecutor, ITransforma
             {
                 cornersOnStartDuplicate = lastCorners;
                 duplicateOnStop = true;
-                internals.ActionAccumulator.AddActions(new EndTransformSelected_Action());
+                internals.ActionAccumulator.AddFinishedActions(new EndTransformSelected_Action());
 
                 internals.ActionAccumulator.AddActions(new PreviewTransformSelected_Action(lastCorners, memberCorners,
                     document!.AnimationHandler.ActiveFrameBindable));

+ 2 - 2
src/PixiEditor/ViewModels/Tools/Tools/MoveToolViewModel.cs

@@ -114,12 +114,12 @@ internal class MoveToolViewModel : ToolViewModel, IMoveToolHandler
         }
     }
 
-    public void OnPreUndoInlet()
+    public override void OnPreUndoInlet()
     {
         DuplicateOnMove = false;
     }
     
-    public void OnPreRedoInlet()
+    public override void OnPreRedoInlet()
     {
         DuplicateOnMove = false;
     }