From 414c21609b05789de7763ef8160236bb755a817f Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Wed, 2 Nov 2022 00:58:48 +1000 Subject: [PATCH] Disallow updating cheats when multiple rows selected (resolves #1726) --- .../tools/Cheats/Cheats.cs | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs index 066ace7025..45429d966c 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs @@ -295,16 +295,24 @@ namespace BizHawk.Client.EmuHawk private void DoSelectedIndexChange() { - if (SelectedCheats.Any()) - { - var cheat = SelectedCheats.First(); - CheatEditor.SetCheat(cheat); - CheatGroupBox.Text = $"Editing Cheat {cheat.Name} - {cheat.AddressStr}"; - } - else + var selected = SelectedCheats.Take(2).ToList(); // is this saving that much overhead by not enumerating the whole selection? could display the row count if we did + if (selected.Count is 0) { CheatEditor.ClearForm(); CheatGroupBox.Text = "New Cheat"; + CheatGroupBox.Enabled = true; + } + else if (selected.Count is 1) + { + CheatEditor.SetCheat(selected[0]); + CheatGroupBox.Text = $"Editing Cheat {selected[0].Name} - {selected[0].AddressStr}"; + CheatGroupBox.Enabled = true; + } + else + { + CheatGroupBox.Enabled = false; + CheatEditor.ClearForm(); + CheatGroupBox.Text = "Multiple Cheats Selected"; } }