From 5e1545e5bf1303971369d20dba0752e40271f05b Mon Sep 17 00:00:00 2001 From: Ian Ynda-Hummel Date: Sun, 20 Apr 2025 21:47:13 -0400 Subject: [PATCH] Tolerate absent mod1 and mod2 --- Amethyst/Preferences/UserConfiguration.swift | 22 ++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Amethyst/Preferences/UserConfiguration.swift b/Amethyst/Preferences/UserConfiguration.swift index 5a0d2c5f..d1821c97 100644 --- a/Amethyst/Preferences/UserConfiguration.swift +++ b/Amethyst/Preferences/UserConfiguration.swift @@ -389,14 +389,32 @@ class UserConfiguration: NSObject { alert.runModal() } - let mod1Strings: [String] = configurationValueForKey(.mod1)! - let mod2Strings: [String] = configurationValueForKey(.mod2)! + let mod1Strings: [String] = configurationValueForKey(.mod1) ?? [] + let mod2Strings: [String] = configurationValueForKey(.mod2) ?? [] let mod3Strings: [String]? = configurationValueForKey(.mod3) let mod4Strings: [String]? = configurationValueForKey(.mod4) modifier1 = modifierFlagsForStrings(mod1Strings) modifier2 = modifierFlagsForStrings(mod2Strings) + if modifier1 == nil || modifier1!.isEmpty { + log.error("error loading a mod1") + + let alert = NSAlert() + alert.alertStyle = .critical + alert.messageText = "Error loading mod1" + alert.runModal() + } + + if modifier2 == nil || modifier2!.isEmpty { + log.error("error loading a mod2") + + let alert = NSAlert() + alert.alertStyle = .critical + alert.messageText = "Error loading mod2" + alert.runModal() + } + if let mod3Strings = mod3Strings { modifier3 = modifierFlagsForStrings(mod3Strings) }