From fd4a534fa70893dbc94d66d7999b89887fae3dc8 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Wed, 25 Nov 2020 18:02:01 +1000 Subject: [PATCH] When restarting Lua, use a single ApiContainer for all Lua libs fixes a7ffdd948, 104c17e77, 151911069 --- src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs index 98ac33d148..e8ac993d65 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs @@ -42,6 +42,7 @@ namespace BizHawk.Client.EmuHawk LuaWait = new AutoResetEvent(false); Docs.Clear(); + var apiContainer = ApiManager.RestartLua(mainForm, serviceProvider, ConsoleLuaLibrary.LogOutput); // Register lua libraries foreach (var lib in Client.Common.ReflectionCache.Types.Concat(EmuHawk.ReflectionCache.Types) @@ -67,8 +68,7 @@ namespace BizHawk.Client.EmuHawk clientLib.MainForm = mainForm; } - ApiContainerInstance = ApiManager.RestartLua(mainForm, serviceProvider, ConsoleLuaLibrary.LogOutput); - if (instance is DelegatingLuaLibrary dlgInstance) dlgInstance.APIs = ApiContainerInstance; + if (instance is DelegatingLuaLibrary dlgInstance) dlgInstance.APIs = apiContainer; EnumerateLuaFunctions(instance.Name, lib, instance); Libraries.Add(lib, instance); @@ -83,9 +83,6 @@ namespace BizHawk.Client.EmuHawk EnumerateLuaFunctions(nameof(LuaCanvas), typeof(LuaCanvas), null); // add LuaCanvas to Lua function reference table } - /// lazily instantiated - private static ApiContainer ApiContainerInstance; - private Lua _lua = new Lua(); private Lua _currThread;