diff --git a/BizHawk.MultiClient/LuaInterface.dll b/BizHawk.MultiClient/LuaInterface.dll index e33a7208cf..bbb3701cb8 100644 Binary files a/BizHawk.MultiClient/LuaInterface.dll and b/BizHawk.MultiClient/LuaInterface.dll differ diff --git a/LuaInterface/LuaInterface/Lua.cs b/LuaInterface/LuaInterface/Lua.cs index 05441b361d..a5d55c1584 100644 --- a/LuaInterface/LuaInterface/Lua.cs +++ b/LuaInterface/LuaInterface/Lua.cs @@ -512,9 +512,15 @@ namespace LuaInterface - public void Resume(int narg) + public int Resume(int narg) { - LuaDLL.lua_resume(luaState, narg); + int ret = LuaDLL.lua_resume(luaState, narg); + if (ret == 1 /*LUA_YIELD*/) + return 1; //yielded + if (ret == 0) //normal termination - what to do? + return 0; + //error. throw exception with error message (TBD - debug api to get call stack) + throw new LuaException(LuaDLL.lua_tostring(luaState, -1)); } public void Yield(int nresults) {