diff --git a/src/common/runtime.cpp b/src/common/runtime.cpp index 55c216adb..e4da8991a 100644 --- a/src/common/runtime.cpp +++ b/src/common/runtime.cpp @@ -464,7 +464,7 @@ void luax_pushtype(lua_State *L, const char *name, bits flags, love::Object *dat bool luax_istype(lua_State *L, int idx, love::bits type) { - if (lua_isuserdata(L, idx) == 0) + if (lua_type(L, idx) != LUA_TUSERDATA) return false; return ((((Proxy *)lua_touserdata(L, idx))->flags & type) == type); diff --git a/src/common/runtime.h b/src/common/runtime.h index 8f99f259f..de9c6fbde 100644 --- a/src/common/runtime.h +++ b/src/common/runtime.h @@ -401,7 +401,7 @@ extern "C" { // Also called from luasocket template T *luax_checktype(lua_State *L, int idx, const char *name, love::bits type) { - if (lua_isuserdata(L, idx) == 0) + if (lua_type(L, idx) != LUA_TUSERDATA) luax_typerror(L, idx, name); Proxy *u = (Proxy *)lua_touserdata(L, idx); diff --git a/src/modules/graphics/opengl/wrap_Graphics.cpp b/src/modules/graphics/opengl/wrap_Graphics.cpp index 4ceda2c31..00387e194 100644 --- a/src/modules/graphics/opengl/wrap_Graphics.cpp +++ b/src/modules/graphics/opengl/wrap_Graphics.cpp @@ -1122,8 +1122,9 @@ int w_line(lua_State *L) args = lua_objlen(L, 1); is_table = true; } + if (args % 2 != 0) - return luaL_error(L, "Number of vertices must be a multiple of two"); + return luaL_error(L, "Number of vertex components must be a multiple of two"); else if (args < 4) return luaL_error(L, "Need at least two vertices to draw a line"); @@ -1224,7 +1225,7 @@ int w_polygon(lua_State *L) } if (args % 2 != 0) - return luaL_error(L, "Number of vertices must be a multiple of two"); + return luaL_error(L, "Number of vertex components must be a multiple of two"); else if (args < 6) return luaL_error(L, "Need at least three vertices to draw a polygon"); diff --git a/src/modules/physics/box2d/Physics.cpp b/src/modules/physics/box2d/Physics.cpp index e5c6a03a3..a76aca20f 100644 --- a/src/modules/physics/box2d/Physics.cpp +++ b/src/modules/physics/box2d/Physics.cpp @@ -93,8 +93,9 @@ EdgeShape *Physics::newEdgeShape(float x1, float y1, float x2, float y2) int Physics::newPolygonShape(lua_State *L) { int argc = lua_gettop(L); - if (argc%2 != 0) - return luaL_error(L, "Number of vertices must be a multiple of two."); + if (argc % 2 != 0) + return luaL_error(L, "Number of vertex components must be a multiple of two."); + // 3 to 8 (b2_maxPolygonVertices) vertices int vcount = argc / 2; if (vcount < 3)