From 5b28b34a0b253f676d78fdd3a79f825398dd874d Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Thu, 29 Aug 2013 20:59:25 -0300 Subject: [PATCH] Fixed Thread:start(func) crashing instead of erroring --- src/modules/thread/wrap_LuaThread.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/modules/thread/wrap_LuaThread.cpp b/src/modules/thread/wrap_LuaThread.cpp index 2cc8accac..b6cb01aee 100644 --- a/src/modules/thread/wrap_LuaThread.cpp +++ b/src/modules/thread/wrap_LuaThread.cpp @@ -40,7 +40,16 @@ int w_Thread_start(lua_State *L) { args = new Variant*[nargs]; for (int i = 0; i < nargs; ++i) + { args[i] = Variant::fromLua(L, i+2); + if (!args[i]) + { + for (int j = i; j >= 0; j--) + delete args[j]; + delete args; + return luaL_argerror(L, i+2, "boolean, number, string, love type, or flat table expected"); + } + } } luax_pushboolean(L, t->start(args, nargs));