From 971518d22e2c7dcde18d44568bb256581db72370 Mon Sep 17 00:00:00 2001 From: GoldenTails Date: Sun, 20 Dec 2020 21:43:14 -0600 Subject: [PATCH] Have Lua_OnChange restore the stack to what it was before it was called. So we don't get Luas with access to LUA_GetErrorMessage. --- src/lua_consolelib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lua_consolelib.c b/src/lua_consolelib.c index 84bfeaee2..5344fee76 100644 --- a/src/lua_consolelib.c +++ b/src/lua_consolelib.c @@ -285,8 +285,8 @@ static void Lua_OnChange(void) /// \todo Network this! XD_LUAVAR - lua_settop(gL, 0); // Just in case... lua_pushcfunction(gL, LUA_GetErrorMessage); + lua_insert(gL, 1); // Because LUA_Call wants it at index 1. // From CV_OnChange registry field, get the function for this cvar by name. lua_getfield(gL, LUA_REGISTRYINDEX, "CV_OnChange"); @@ -301,6 +301,7 @@ static void Lua_OnChange(void) LUA_Call(gL, 1, 0, 1); // call function(cvar) lua_pop(gL, 1); // pop CV_OnChange table + lua_remove(gL, 1); // remove LUA_GetErrorMessage } static int lib_cvRegisterVar(lua_State *L)