Fix core reboot flag on preference change
This now checks core names instead of system ids
This commit is contained in:
parent
2534c9288e
commit
04e9bf054e
|
@ -91,18 +91,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
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) =>
|
||||
|
|
Loading…
Reference in New Issue