Skip to content

Commit

Permalink
Fix core reboot flag on preference change
Browse files Browse the repository at this point in the history
This now checks core names instead of system ids
  • Loading branch information
Morilli committed Jul 2, 2024
1 parent 2534c92 commit 04e9bf0
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions src/BizHawk.Client.EmuHawk/MainForm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,18 +91,15 @@ ToolStripItem[] CreateWindowSizeFactorSubmenus()
{
var groupLabel = appliesTo[0];
var submenu = new ToolStripMenuItem { Text = groupLabel };
void ClickHandler(object clickSender, EventArgs clickArgs)
{
var coreName = ((ToolStripMenuItem) clickSender).Text;
foreach (var system in appliesTo)
{
if (Emulator.SystemId == system && Emulator.Attributes().CoreName != coreName) FlagNeedsReboot();
Config.PreferredCores[system] = coreName;
}
}
submenu.DropDownItems.AddRange(coreNames.Select(coreName => {
var entry = new ToolStripMenuItem { Text = coreName };
entry.Click += ClickHandler;
entry.Click += (_, _) =>
{
string currentCoreName = Emulator.Attributes().CoreName;
if (coreName != currentCoreName && coreNames.Contains(currentCoreName)) FlagNeedsReboot();
foreach (string system in appliesTo)
Config.PreferredCores[system] = coreName;
};
return (ToolStripItem) entry;
}).ToArray());
submenu.DropDownOpened += (openedSender, _1) =>
Expand Down

0 comments on commit 04e9bf0

Please sign in to comment.