From 0ce44e465dad292d41f9746d9c10d6fce79d322b Mon Sep 17 00:00:00 2001 From: Bart van Strien Date: Tue, 2 Aug 2016 13:07:05 +0200 Subject: [PATCH] Catch possible Box2D exception in Fixture:getBoundingBox() (fixes #1196) --- src/modules/physics/box2d/Fixture.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/physics/box2d/Fixture.cpp b/src/modules/physics/box2d/Fixture.cpp index d56c5a8ef..7f0b31e28 100644 --- a/src/modules/physics/box2d/Fixture.cpp +++ b/src/modules/physics/box2d/Fixture.cpp @@ -284,7 +284,8 @@ int Fixture::rayCast(lua_State *L) const int Fixture::getBoundingBox(lua_State *L) const { int childIndex = (int) luaL_optnumber(L, 1, 1) - 1; // Convert from 1-based index - b2AABB box = fixture->GetAABB(childIndex); + b2AABB box; + luax_catchexcept(L, [&]() { box = fixture->GetAABB(childIndex); }); box = Physics::scaleUp(box); lua_pushnumber(L, box.lowerBound.x); lua_pushnumber(L, box.lowerBound.y);