diff --git a/src/BizHawk.Client.Common/lua/LuaFunctionList.cs b/src/BizHawk.Client.Common/lua/LuaFunctionList.cs index e7b92fa819..6a232d103c 100644 --- a/src/BizHawk.Client.Common/lua/LuaFunctionList.cs +++ b/src/BizHawk.Client.Common/lua/LuaFunctionList.cs @@ -45,9 +45,7 @@ namespace BizHawk.Client.Common public void RemoveForFile(LuaFile file, IEmulator emulator) { - var functionsToRemove = _functions - .ForFile(file) - .ToList(); + var functionsToRemove = _functions.Where(l => l.LuaFile.Path == file.Path || l.LuaFile.Thread == file.Thread).ToList(); foreach (var function in functionsToRemove) { @@ -82,19 +80,4 @@ namespace BizHawk.Client.Common private void Changed() => ChangedCallback?.Invoke(); } - - public static class LuaFunctionListExtensions - { - public static IEnumerable ForFile(this IEnumerable list, LuaFile luaFile) - { - return list - .Where(l => l.LuaFile.Path == luaFile.Path - || l.LuaFile.Thread == luaFile.Thread); - } - - public static IEnumerable ForEvent(this IEnumerable list, string eventName) - { - return list.Where(l => l.Event == eventName); - } - } } diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs index 52373cd81a..f1335a4a2e 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs @@ -233,7 +233,8 @@ namespace BizHawk.Client.EmuHawk public void CallExitEvent(LuaFile lf) { - foreach (var exitCallback in RegisteredFunctions.ForFile(lf).ForEvent("OnExit")) + foreach (var exitCallback in RegisteredFunctions + .Where(l => l.Event == "OnExit" && (l.LuaFile.Path == lf.Path || l.LuaFile.Thread == lf.Thread))) { exitCallback.Call(); }