Browse Source

Fixed setting cast exception

flabbet 7 months ago
parent
commit
e4d4be6d79
1 changed files with 22 additions and 13 deletions
  1. 22 13
      src/PixiEditor/ViewModels/Tools/Tools/PenToolViewModel.cs

+ 22 - 13
src/PixiEditor/ViewModels/Tools/Tools/PenToolViewModel.cs

@@ -63,7 +63,10 @@ namespace PixiEditor.ViewModels.Tools.Tools
             {
                 var toolbar = (PenToolbar)Toolbar;
                 var setting = toolbar.Settings.FirstOrDefault(x => x.Name == nameof(toolbar.ToolSize));
-                setting.Value = 1;
+                if (setting is SizeSettingViewModel sizeSetting)
+                {
+                    sizeSetting.Value = 1;
+                }
             }
             
             if (!PixiEditorSettings.Tools.EnableSharedToolbar.Value)
@@ -100,25 +103,31 @@ namespace PixiEditor.ViewModels.Tools.Tools
             }
 
             var toolbar = (PenToolbar)Toolbar;
-            var setting = (SizeSettingViewModel)toolbar.Settings[0];
-            setting.Value = actualToolSize;
+            var setting = toolbar.Settings.FirstOrDefault(x => x.Name == nameof(toolbar.ToolSize));
+            if(setting is SizeSettingViewModel sizeSetting)
+            {
+                sizeSetting.Value = actualToolSize;
+            }
         }
 
         private void PixelPerfectChanged()
         {
             var toolbar = (PenToolbar)Toolbar;
-            var setting = (SizeSettingViewModel)toolbar.Settings[0];
-
-            setting.IsEnabled = !PixelPerfectEnabled;
+            var setting = toolbar.Settings.FirstOrDefault(x => x.Name == nameof(toolbar.ToolSize));
 
-            if (PixelPerfectEnabled)
-            {
-                actualToolSize = ToolSize;
-                setting.Value = 1;
-            }
-            else
+            if (setting is SizeSettingViewModel sizeSettingViewModel)
             {
-                setting.Value = actualToolSize;
+                sizeSettingViewModel.IsEnabled = !PixelPerfectEnabled;
+
+                if (PixelPerfectEnabled)
+                {
+                    actualToolSize = ToolSize;
+                    sizeSettingViewModel.Value = 1;
+                }
+                else
+                {
+                    sizeSettingViewModel.Value = actualToolSize;
+                }
             }
         }