Browse Source

Fixed move tool redo

flabbet 5 years ago
parent
commit
b8aeb22e54
1 changed files with 4 additions and 5 deletions
  1. 4 5
      PixiEditor/Models/Tools/Tools/MoveTool.cs

+ 4 - 5
PixiEditor/Models/Tools/Tools/MoveTool.cs

@@ -21,7 +21,6 @@ namespace PixiEditor.Models.Tools.Tools
         public override ToolType ToolType => ToolType.Move;
         private Layer[] _affectedLayers;
         private Dictionary<Layer, bool> _clearedPixels = new Dictionary<Layer, bool>();
-        private BitmapPixelChanges _clearedPixelsChange;
         private Coordinates[] _currentSelection;
         private Coordinates _lastMouseMove;
         private Coordinates _lastStartMousePos;
@@ -51,7 +50,7 @@ namespace PixiEditor.Models.Tools.Tools
                     .AddRangeOverride(beforeMovePixels.ChangedPixels);
 
                 ((LayerChange[]) changes.NewValue)[layerIndex].PixelChanges.ChangedPixels
-                    .AddRangeOverride(_clearedPixelsChange.ChangedPixels);
+                    .AddRangeNewOnly(BitmapPixelChanges.FromSingleColoredArray(_startSelection, System.Windows.Media.Colors.Transparent).ChangedPixels);
             }
         }
 
@@ -94,6 +93,8 @@ namespace PixiEditor.Models.Tools.Tools
                 result[i] = new LayerChange(changes, _affectedLayers[i]);
             }
 
+
+
             return result;
         }
 
@@ -137,10 +138,8 @@ namespace PixiEditor.Models.Tools.Tools
         {
             if (!_clearedPixels.ContainsKey(layer) || _clearedPixels[layer] == false)
             {
-                _clearedPixelsChange =
-                    BitmapPixelChanges.FromSingleColoredArray(selection, System.Windows.Media.Colors.Transparent);
                 ViewModelMain.Current.BitmapManager.ActiveDocument.Layers.First(x => x == layer)
-                    .ApplyPixels(_clearedPixelsChange);
+                    .ApplyPixels(BitmapPixelChanges.FromSingleColoredArray(selection, System.Windows.Media.Colors.Transparent));
 
                 _clearedPixels[layer] = true;
             }