]> git.lizzy.rs Git - minetest.git/blobdiff - src/script/cpp_api/s_base.cpp
Use a Lua error handler that calls tostring (#11913)
[minetest.git] / src / script / cpp_api / s_base.cpp
index e8d973de15fa3e056c30f70c4e823b1399177e40..b91f5961367173bcabda55034174ce02e44ab255 100644 (file)
@@ -103,11 +103,8 @@ ScriptApiBase::ScriptApiBase(ScriptingType type):
 #endif
        lua_rawseti(m_luastack, LUA_REGISTRYINDEX, CUSTOM_RIDX_SCRIPTAPI);
 
-       // Add and save an error handler
-       lua_getglobal(m_luastack, "debug");
-       lua_getfield(m_luastack, -1, "traceback");
-       lua_rawseti(m_luastack, LUA_REGISTRYINDEX, CUSTOM_RIDX_BACKTRACE);
-       lua_pop(m_luastack, 1); // pop debug
+       lua_pushcfunction(m_luastack, script_error_handler);
+       lua_rawseti(m_luastack, LUA_REGISTRYINDEX, CUSTOM_RIDX_ERROR_HANDLER);
 
        // Add a C++ wrapper function to catch exceptions thrown in Lua -> C++ calls
 #if USE_LUAJIT