diff --git a/OpenRA.Mods.Common/Widgets/Logic/Settings/HotkeysSettingsLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Settings/HotkeysSettingsLogic.cs index 4265572520..6f4495b386 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Settings/HotkeysSettingsLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Settings/HotkeysSettingsLogic.cs @@ -161,7 +161,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic foreach (var hd in modData.Hotkeys.Definitions) { modData.Hotkeys.Set(hd.Name, hd.Default); - WidgetUtils.TruncateButtonToTooltip(panel.Get(hd.Name).Get("HOTKEY"), hd.Default.DisplayString()); + var hotkeyButton = panel.GetOrNull(hd.Name)?.Get("HOTKEY"); + if (hotkeyButton != null) + WidgetUtils.TruncateButtonToTooltip(hotkeyButton, hd.Default.DisplayString()); } }; } @@ -302,8 +304,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic void OverrideHotkey() { - var duplicateHotkeyButton = hotkeyList.Get(duplicateHotkeyDefinition.Name).Get("HOTKEY"); - WidgetUtils.TruncateButtonToTooltip(duplicateHotkeyButton, Hotkey.Invalid.DisplayString()); + var duplicateHotkeyButton = hotkeyList.GetOrNull(duplicateHotkeyDefinition.Name)?.Get("HOTKEY"); + if (duplicateHotkeyButton != null) + WidgetUtils.TruncateButtonToTooltip(duplicateHotkeyButton, Hotkey.Invalid.DisplayString()); modData.Hotkeys.Set(duplicateHotkeyDefinition.Name, Hotkey.Invalid); Game.Settings.Save(); hotkeyEntryWidget.YieldKeyboardFocus();