Browse Source

Fixed infinite undo loop

flabbet 7 months ago
parent
commit
513d8a322e

+ 2 - 2
src/PixiEditor.ChangeableDocument/Changes/Drawing/TransformSelected_UpdateableChange.cs

@@ -140,14 +140,14 @@ internal class TransformSelected_UpdateableChange : InterruptableUpdateableChang
     {
         ChunkyImage image =
             DrawingChangeHelper.GetTargetImageOrThrow(target, member.MemberId, drawOnMask, frame);
-        VectorPath pathToExtract = originalPath;
+        VectorPath? pathToExtract = originalPath;
         RectD targetBounds = originalTightBounds;
 
         if (pathToExtract == null)
         {
             RectD tightBounds = layer.GetTightBounds(frame).GetValueOrDefault();
             pathToExtract = new VectorPath();
-            pathToExtract.AddRect((RectD)(RectI)tightBounds);
+            pathToExtract.AddRect(tightBounds.RoundOutwards());
         }
 
         member.OriginalPath = pathToExtract;

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

@@ -120,9 +120,9 @@ internal class TransformSelectedExecutor : UpdateableChangeExecutor, ITransforma
         
         document.TransformHandler.CanAlignToPixels = anyRaster;
 
-        internals!.ActionAccumulator.AddActions(
+        /*internals!.ActionAccumulator.AddActions(
             new TransformSelected_Action(masterCorners, tool.KeepOriginalImage, memberCorners, false,
-                document.AnimationHandler.ActiveFrameBindable));
+                document.AnimationHandler.ActiveFrameBindable));*/
 
         isInProgress = true;
         return ExecutionState.Success;