From 03428d9825cfdf2cfaed6ac9410dafccac0d4f3a Mon Sep 17 00:00:00 2001 From: Jude Melton-Houghton Date: Mon, 26 Sep 2022 07:23:48 -0400 Subject: Modify PUC Lua to wrap C++ exceptions (#12445) --- src/script/cpp_api/s_base.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/script/cpp_api') diff --git a/src/script/cpp_api/s_base.cpp b/src/script/cpp_api/s_base.cpp index 659b32777..5569a536e 100644 --- a/src/script/cpp_api/s_base.cpp +++ b/src/script/cpp_api/s_base.cpp @@ -109,12 +109,14 @@ ScriptApiBase::ScriptApiBase(ScriptingType type): lua_rawseti(m_luastack, LUA_REGISTRYINDEX, CUSTOM_RIDX_BACKTRACE); lua_pop(m_luastack, 1); // pop debug - // If we are using LuaJIT add a C++ wrapper function to catch - // exceptions thrown in Lua -> C++ calls + // Add a C++ wrapper function to catch exceptions thrown in Lua -> C++ calls #if USE_LUAJIT lua_pushlightuserdata(m_luastack, (void*) script_exception_wrapper); luaJIT_setmode(m_luastack, -1, LUAJIT_MODE_WRAPCFUNC | LUAJIT_MODE_ON); lua_pop(m_luastack, 1); +#else + // (This is a custom API from the bundled Lua.) + lua_atccall(m_luastack, script_exception_wrapper); #endif // Add basic globals -- cgit v1.2.3