From 42d7df27ae66254482d1924cd8998444383a2604 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Thu, 19 Mar 2026 03:21:04 +0100 Subject: [PATCH] fix: SettingsManager null guard, ui_ filter, double cast for sensitivity/deadzone --- Autoloads/SettingsManager.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Autoloads/SettingsManager.cs b/Autoloads/SettingsManager.cs index 93c7722..867970b 100644 --- a/Autoloads/SettingsManager.cs +++ b/Autoloads/SettingsManager.cs @@ -42,6 +42,12 @@ public partial class SettingsManager : Node { Instance = this; + if (ConfigFileHandler.Instance == null) + { + GD.PushError("SettingsManager: ConfigFileHandler.Instance is null"); + return; + } + var cfg = ConfigFileHandler.Instance.SettingsConfig; // --- display_settings --- @@ -98,8 +104,8 @@ public partial class SettingsManager : Node public void SaveGameplaySettings() { var cfg = ConfigFileHandler.Instance.SettingsConfig; - cfg.SetValue("gameplay_settings", "gamepad_deadzone", GamepadDeadzone); - cfg.SetValue("gameplay_settings", "gamepad_sensitivity", GamepadSensitivity); + cfg.SetValue("gameplay_settings", "gamepad_deadzone", (double)GamepadDeadzone); + cfg.SetValue("gameplay_settings", "gamepad_sensitivity", (double)GamepadSensitivity); cfg.Save(ConfigFileHandler.SettingsPath); } @@ -108,6 +114,7 @@ public partial class SettingsManager : Node var cfg = ConfigFileHandler.Instance.SettingsConfig; foreach (var action in InputMap.GetActions()) { + if (action.ToString().StartsWith("ui_")) continue; foreach (var ev in InputMap.ActionGetEvents(action)) { if (ev is InputEventKey key) @@ -157,6 +164,7 @@ public partial class SettingsManager : Node foreach (var actionName in cfg.GetSectionKeys("input_settings")) { + if (actionName.StartsWith("ui_")) continue; if (!InputMap.HasAction(actionName)) continue; var scancode = (Key)(long)cfg.GetValue("input_settings", actionName);