From a4799a384b2f33be5b3fcf43b462175de6ce7f65 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Tue, 18 Sep 2012 20:45:59 +0400 Subject: [PATCH] Catch C++ exceptions in dfhack.buildings.setSize --- library/LuaApi.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/library/LuaApi.cpp b/library/LuaApi.cpp index f8497569e..d73d14cf9 100644 --- a/library/LuaApi.cpp +++ b/library/LuaApi.cpp @@ -1084,7 +1084,9 @@ static int buildings_getCorrectSize(lua_State *state) return 5; } -static int buildings_setSize(lua_State *state) +namespace { + +int buildings_setSize(lua_State *state) { auto bld = Lua::CheckDFObject(state, 1); df::coord2d size(luaL_optint(state, 2, 1), luaL_optint(state, 3, 1)); @@ -1105,11 +1107,13 @@ static int buildings_setSize(lua_State *state) return 1; } +} + static const luaL_Reg dfhack_buildings_funcs[] = { { "findAtTile", buildings_findAtTile }, { "findCivzonesAt", buildings_findCivzonesAt }, { "getCorrectSize", buildings_getCorrectSize }, - { "setSize", buildings_setSize }, + { "setSize", &Lua::CallWithCatchWrapper }, { NULL, NULL } };