Fix crash when a error occurs in a globalstep callback

master
ShadowNinja 2014-02-03 18:15:03 -05:00
parent fbef701bcd
commit 458045d49f
1 changed files with 6 additions and 1 deletions

View File

@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "environment.h"
#include "mapgen.h"
#include "lua_api/l_env.h"
#include "server.h"
void ScriptApiEnv::environment_OnGenerated(v3s16 minp, v3s16 maxp,
u32 blockseed)
@ -50,7 +51,11 @@ void ScriptApiEnv::environment_Step(float dtime)
lua_getfield(L, -1, "registered_globalsteps");
// Call callbacks
lua_pushnumber(L, dtime);
script_run_callbacks(L, 1, RUN_CALLBACKS_MODE_FIRST);
try {
script_run_callbacks(L, 1, RUN_CALLBACKS_MODE_FIRST);
} catch (LuaError &e) {
getServer()->setAsyncFatalError(e.what());
}
}
void ScriptApiEnv::environment_OnMapgenInit(MapgenParams *mgparams)