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.
This commit is contained in:
GoldenTails 2020-12-20 21:43:14 -06:00
parent 760e083c30
commit 971518d22e

View file

@ -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)