From 3fee117c5f46e5997372a484b7c22c68d8b75c58 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Tue, 4 May 2021 23:54:48 +1000 Subject: [PATCH] Clean up toggle/refresh buttons in Lua Console --- .../tools/Lua/LuaConsole.cs | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs index 08da0e8276..dd72f59aa5 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs @@ -310,11 +310,7 @@ namespace BizHawk.Client.EmuHawk { // Even after _watches is cleared, these callbacks hang around! So this check is necessary var script = LuaImp.ScriptList.FirstOrDefault(s => s.Path == e.FullPath && s.Enabled); - - if (script != null) - { - Invoke(new MethodInvoker(delegate { RefreshScriptMenuItem_Click(null, null); })); - } + if (script != null) Invoke((MethodInvoker) (() => RefreshLuaScript(script))); } public void LoadLuaFile(string path) @@ -1416,8 +1412,12 @@ namespace BizHawk.Client.EmuHawk private void RefreshScriptMenuItem_Click(object sender, EventArgs e) { - ToggleScriptMenuItem_Click(sender, e); - ToggleScriptMenuItem_Click(sender, e); + if (!(LuaImp is Win32LuaLibraries luaLibsImpl)) return; + var files = !SelectedFiles.Any() && Settings.ToggleAllIfNoneSelected + ? luaLibsImpl.ScriptList + : SelectedFiles; + foreach (var file in files) RefreshLuaScript(file); + UpdateDialog(); } private void InputBox_KeyDown(object sender, KeyEventArgs e) @@ -1566,6 +1566,12 @@ namespace BizHawk.Client.EmuHawk } } + private void RefreshLuaScript(LuaFile file) + { + ToggleLuaScript(file); + ToggleLuaScript(file); + } + [RestoreDefaults] private void RestoreDefaults() {