diff --git a/src/modules/physics/box2d/Physics.cpp b/src/modules/physics/box2d/Physics.cpp index 7ba45f241..37aa766a0 100644 --- a/src/modules/physics/box2d/Physics.cpp +++ b/src/modules/physics/box2d/Physics.cpp @@ -234,6 +234,7 @@ namespace box2d void Physics::setMeter(int meter) { + if (meter < 1) throw love::Exception("Physics error: invalid meter"); Physics::meter = meter; } diff --git a/src/modules/physics/box2d/wrap_Physics.cpp b/src/modules/physics/box2d/wrap_Physics.cpp index 0d7f409bc..b1af0a61d 100644 --- a/src/modules/physics/box2d/wrap_Physics.cpp +++ b/src/modules/physics/box2d/wrap_Physics.cpp @@ -304,7 +304,11 @@ namespace box2d int w_setMeter(lua_State * L) { int arg1 = luaL_checkint(L, 1); - Physics::setMeter(arg1); + try { + Physics::setMeter(arg1); + } catch (love::Exception e) { + return luaL_error(L, e.what()); + } return 0; }