Browse Source

Fixed eraser being deselected

CPKreuz 2 years ago
parent
commit
77e076c0d7
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/PixiEditor/ViewModels/SubViewModels/Main/IoViewModel.cs

+ 9 - 1
src/PixiEditor/ViewModels/SubViewModels/Main/IoViewModel.cs

@@ -21,7 +21,8 @@ internal class IoViewModel : SubViewModel<ViewModelMain>
     private int? previousEraseSize;
     private int? previousEraseSize;
     private bool hadSharedToolbar;
     private bool hadSharedToolbar;
     private bool? drawingWithRight;
     private bool? drawingWithRight;
-    
+    private bool startedWithEraser;
+
     public RelayCommand MouseMoveCommand { get; set; }
     public RelayCommand MouseMoveCommand { get; set; }
     public RelayCommand MouseDownCommand { get; set; }
     public RelayCommand MouseDownCommand { get; set; }
     public RelayCommand PreviewMouseMiddleButtonCommand { get; set; }
     public RelayCommand PreviewMouseMiddleButtonCommand { get; set; }
@@ -175,6 +176,8 @@ internal class IoViewModel : SubViewModel<ViewModelMain>
     {
     {
         var tools = Owner.ToolsSubViewModel;
         var tools = Owner.ToolsSubViewModel;
 
 
+        startedWithEraser = tools.ActiveTool is EraserToolViewModel;
+
         switch (tools.RightClickMode)
         switch (tools.RightClickMode)
         {
         {
             case RightClickMode.SecondaryColor when tools.ActiveTool.UsesColor:
             case RightClickMode.SecondaryColor when tools.ActiveTool.UsesColor:
@@ -257,6 +260,11 @@ internal class IoViewModel : SubViewModel<ViewModelMain>
                 Owner.ColorsSubViewModel.SwapColors(null);
                 Owner.ColorsSubViewModel.SwapColors(null);
                 break;
                 break;
             case MouseButton.Right when tools.RightClickMode == RightClickMode.Erase:
             case MouseButton.Right when tools.RightClickMode == RightClickMode.Erase:
+                if (startedWithEraser)
+                {
+                    break;
+                }
+
                 tools.EnableSharedToolbar = hadSharedToolbar;
                 tools.EnableSharedToolbar = hadSharedToolbar;
                 if (previousEraseSize != null)
                 if (previousEraseSize != null)
                 {
                 {