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 groupLabel = appliesTo[0];
|
||||||
var submenu = new ToolStripMenuItem { Text = groupLabel };
|
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 => {
|
submenu.DropDownItems.AddRange(coreNames.Select(coreName => {
|
||||||
var entry = new ToolStripMenuItem { Text = 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;
|
return (ToolStripItem) entry;
|
||||||
}).ToArray());
|
}).ToArray());
|
||||||
submenu.DropDownOpened += (openedSender, _1) =>
|
submenu.DropDownOpened += (openedSender, _1) =>
|
||||||
|
|
Loading…
Reference in New Issue