From: kwolekr Date: Sat, 14 Dec 2013 06:59:16 +0000 (-0500) Subject: Handle Lua errors in on_generate callbacks instead of throwing SIGABRT X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=15c316765d2ee2a0b8aec78fd6b13d9367f3c91e;p=zefram%2Fminetest%2Fminetest_engine.git Handle Lua errors in on_generate callbacks instead of throwing SIGABRT --- diff --git a/src/emerge.cpp b/src/emerge.cpp index f096bb87..2f757a76 100644 --- a/src/emerge.cpp +++ b/src/emerge.cpp @@ -554,9 +554,11 @@ void *EmergeThread::Thread() { MapEditEventAreaIgnorer ign(&m_server->m_ignore_map_edit_events_area, VoxelArea(minp, maxp)); - { // takes about 90ms with -O1 on an e3-1230v2 + try { // takes about 90ms with -O1 on an e3-1230v2 m_server->getScriptIface()->environment_OnGenerated( minp, maxp, emerge->getBlockSeed(minp)); + } catch(LuaError &e) { + m_server->setAsyncFatalError(e.what()); } EMERGE_DBG_OUT("ended up with: " << analyze_block(block));