From 7cce81a880574b76dd64b747bc78686596794e37 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Tue, 14 Apr 2020 05:10:07 +1000 Subject: [PATCH] Move LuaLibraries.GuiLibrary to inheritors, fix related NREs on Unix --- BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs | 4 ++-- BizHawk.Client.EmuHawk/tools/Lua/LuaLibraries.cs | 2 +- BizHawk.Client.EmuHawk/tools/Lua/UnixLuaLibraries.cs | 1 + BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs | 2 ++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs index be493320c0..e661b1cc9b 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs @@ -92,7 +92,7 @@ namespace BizHawk.Client.EmuHawk MainForm.FrameBufferResized(); } - LuaImp.GuiLibrary.DrawFinish(); + LuaImp.GuiLibrary?.DrawFinish(); LuaImp?.Close(); GlobalWin.OSD.ClearGuiText(); } @@ -545,7 +545,7 @@ namespace BizHawk.Client.EmuHawk return; } - if (LuaImp.GuiLibrary.SurfaceIsNull) + if (LuaImp.GuiLibrary?.SurfaceIsNull == true) { LuaImp.GuiLibrary.DrawNew("emu"); } diff --git a/BizHawk.Client.EmuHawk/tools/Lua/LuaLibraries.cs b/BizHawk.Client.EmuHawk/tools/Lua/LuaLibraries.cs index 5f443166ed..3443e3ebaa 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/LuaLibraries.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/LuaLibraries.cs @@ -12,7 +12,7 @@ namespace BizHawk.Client.EmuHawk { public readonly LuaDocumentation Docs = new LuaDocumentation(); public abstract LuaFunctionList RegisteredFunctions { get; } - public GuiLuaLibrary GuiLibrary => (GuiLuaLibrary) Libraries[typeof(GuiLuaLibrary)]; + public abstract GuiLuaLibrary GuiLibrary { get; } protected readonly Dictionary Libraries = new Dictionary(); public IEnumerable RunningScripts => ScriptList.Where(lf => lf.Enabled); public readonly LuaFileList ScriptList = new LuaFileList(); diff --git a/BizHawk.Client.EmuHawk/tools/Lua/UnixLuaLibraries.cs b/BizHawk.Client.EmuHawk/tools/Lua/UnixLuaLibraries.cs index e9d57b7fc3..ef7b7d8561 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/UnixLuaLibraries.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/UnixLuaLibraries.cs @@ -36,6 +36,7 @@ namespace BizHawk.Client.EmuHawk } private static readonly LuaFunctionList EmptyLuaFunList = new LuaFunctionList(); public override LuaFunctionList RegisteredFunctions => EmptyLuaFunList; + public override GuiLuaLibrary GuiLibrary => null; public override void Restart(IEmulatorServiceProvider newServiceProvider) { } diff --git a/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs b/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs index 8ba31f507c..4456858baa 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs @@ -110,6 +110,8 @@ namespace BizHawk.Client.EmuHawk private EmulationLuaLibrary EmulationLuaLibrary => (EmulationLuaLibrary)Libraries[typeof(EmulationLuaLibrary)]; + public override GuiLuaLibrary GuiLibrary => (GuiLuaLibrary) Libraries[typeof(GuiLuaLibrary)]; + public override void Restart(IEmulatorServiceProvider newServiceProvider) { foreach (var lib in Libraries)