diff --git a/ClassicalSharp/Utils/Options.cs b/ClassicalSharp/Utils/Options.cs index 595f2fd74..e7d589d32 100644 --- a/ClassicalSharp/Utils/Options.cs +++ b/ClassicalSharp/Utils/Options.cs @@ -80,6 +80,13 @@ namespace ClassicalSharp { public static List OptionsChanged = new List(); const string Filename = "options.txt"; + static bool IsChangedOption(string key) { + for (int i = 0; i < OptionsChanged.Count; i++) { + if (Utils.CaselessEquals(key, OptionsChanged[i])) return true; + } + return false; + } + static bool TryGetValue(string key, out string value) { value = null; int i = FindOption(key); @@ -157,7 +164,7 @@ namespace ClassicalSharp { SetOption(key, value); } - if (!OptionsChanged.Contains(key)) { + if (!IsChangedOption(key)) { OptionsChanged.Add(key); } } @@ -204,7 +211,7 @@ namespace ClassicalSharp { // remove all the unchanged options for (int i = OptionsKeys.Count - 1; i >= 0; i--) { string key = OptionsKeys[i]; - if (OptionsChanged.Contains(key)) continue; + if (IsChangedOption(key)) continue; RemoveOption(i); } @@ -220,7 +227,7 @@ namespace ClassicalSharp { if (sepIndex == line.Length) continue; string value = line.Substring(sepIndex, line.Length - sepIndex); - if (!OptionsChanged.Contains(key)) { + if (!IsChangedOption(key)) { SetOption(key, value); } }