From 5251dd9343484d9ba799a52d6706ee2be1d6fa4a Mon Sep 17 00:00:00 2001 From: Lightczx <1686188646@qq.com> Date: Sun, 7 Apr 2024 10:44:42 +0800 Subject: [PATCH] clamp monitor index --- .../Snap.Hutao/Service/Game/LaunchOptions.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs index e7bc8670..8863e5fb 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs @@ -178,7 +178,16 @@ internal sealed class LaunchOptions : DbStoreOptions [AllowNull] public NameValue Monitor { - get => GetOption(ref monitor, SettingEntry.LaunchMonitor, index => Monitors[int.Parse(index, CultureInfo.InvariantCulture) - 1], Monitors[0]); + get + { + return GetOption(ref monitor, SettingEntry.LaunchMonitor, index => Monitors[RestrictIndex(Monitors, index)], Monitors[0]); + + static int RestrictIndex(List> monitors, string index) + { + return Math.Clamp(int.Parse(index, CultureInfo.InvariantCulture) - 1, 0, monitors.Count); + } + } + set { if (value is not null)