diff --git a/stepmania/src/LuaManager.cpp b/stepmania/src/LuaManager.cpp index 188f16afe3..4f0b1036a4 100644 --- a/stepmania/src/LuaManager.cpp +++ b/stepmania/src/LuaManager.cpp @@ -117,7 +117,7 @@ void LuaHelpers::ReadArrayFromTableB( Lua *L, vector &aOut ) } -static int LuaPanic( lua_State *L ) +static int GetLuaStack( lua_State *L ) { RString sErr; LuaHelpers::Pop( L, sErr ); @@ -147,6 +147,18 @@ static int LuaPanic( lua_State *L ) join(",", vArgs).c_str(), file, ar.currentline ); } + LuaHelpers::Push( L, sErr ); + return 1; +} + + +static int LuaPanic( lua_State *L ) +{ + GetLuaStack( L ); + + RString sErr; + LuaHelpers::Pop( L, sErr ); + RageException::Throw( "%s", sErr.c_str() ); }