From 02c04d008802d7d1cf575baa21abc603e5f319be Mon Sep 17 00:00:00 2001 From: Isotarge Date: Sat, 7 Nov 2015 01:38:44 +1030 Subject: [PATCH] Fix forms.destroyall() and call it when lua console closes Fixes #454 --- .../tools/Lua/Libraries/EmuLuaLibrary.Forms.cs | 5 ++--- BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Forms.cs b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Forms.cs index 1be505e439..6b88687cc0 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Forms.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Forms.cs @@ -190,10 +190,9 @@ namespace BizHawk.Client.EmuHawk )] public void DestroyAll() { - foreach (var form in _luaForms) + for (var i = _luaForms.Count - 1; i >= 0; i--) { - form.Close(); - _luaForms.Remove(form); + _luaForms.ElementAt(i).Close(); } } diff --git a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs index d282147435..ab48b62381 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs @@ -136,6 +136,7 @@ namespace BizHawk.Client.EmuHawk public void Close() { + FormsLibrary.DestroyAll(); _lua = new Lua(); GuiLibrary.Dispose(); }