From 901e9f2ceb26f7ddfc609f723b39033ad160e917 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sun, 17 Nov 2019 09:26:18 -0600 Subject: [PATCH] InputRoll - when RowCount changes, deselect rows that may no longer exist, fixes crash on Lua Console when removing lua scripts (and lots of other bugs most likely) --- .../CustomControls/InputRoll/InputRoll.cs | 1 + BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs | 9 ++------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs b/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs index 8586b5c51c..86abd68d68 100644 --- a/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs +++ b/BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs @@ -250,6 +250,7 @@ namespace BizHawk.Client.EmuHawk set { _rowCount = value; + _selectedItems.RemoveWhere(i => i.RowIndex >= _rowCount); Invalidate(); RecalculateScrollBars(); } diff --git a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs index 07572ce0f5..c9819e3837 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs @@ -139,7 +139,7 @@ namespace BizHawk.Client.EmuHawk { if (!Global.Config.RecentLua.Empty) { - LoadLuaFromRecent(Global.Config.RecentLua.MostRecent); + LoadLuaFile(Global.Config.RecentLua.MostRecent); } } @@ -472,11 +472,6 @@ namespace BizHawk.Client.EmuHawk NumberOfScripts.Text = message; } - private void LoadLuaFromRecent(string path) - { - LoadLuaFile(path); - } - private bool LuaAlreadyInSession(string path) { return LuaImp.ScriptList.Any(t => path == t.Path); @@ -736,7 +731,7 @@ namespace BizHawk.Client.EmuHawk { RecentScriptsSubMenu.DropDownItems.Clear(); RecentScriptsSubMenu.DropDownItems.AddRange( - Global.Config.RecentLua.RecentMenu(LoadLuaFromRecent, true)); + Global.Config.RecentLua.RecentMenu(LoadLuaFile, true)); } private void NewSessionMenuItem_Click(object sender, EventArgs e)