From d294405272dc678f6e8ceaedb05aebebca31be33 Mon Sep 17 00:00:00 2001 From: Rochet2 Date: Wed, 18 Jun 2014 22:35:27 +0300 Subject: [PATCH] Eluna fix invalid errors --- HookMgr.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/HookMgr.cpp b/HookMgr.cpp index 54c4352..2716de4 100644 --- a/HookMgr.cpp +++ b/HookMgr.cpp @@ -79,14 +79,14 @@ ENDCALL(); for (int IT = _LuaStackTop + 1; IT <= lua_gettop(L); ++IT) #define ENDCALL() \ - if (_LuaReturnValues != LUA_MULTRET && lua_gettop(L) != _LuaStackTop + _LuaReturnValues) \ - { \ - ELUNA_LOG_ERROR("[Eluna]: Ending event %u for %s, stack top was %i and was supposed to be %i. Report to devs", _LuaEvent, _LuaBindType, lua_gettop(L), _LuaStackTop + _LuaReturnValues); \ - } \ - else if (_LuaReturnValues == LUA_MULTRET && lua_gettop(L) < _LuaStackTop) \ + if (lua_gettop(L) < _LuaStackTop) \ { \ ELUNA_LOG_ERROR("[Eluna]: Ending event %u for %s, stack top was %i and was supposed to be >= %i. Report to devs", _LuaEvent, _LuaBindType, lua_gettop(L), _LuaStackTop); \ } \ + if (_LuaReturnValues != LUA_MULTRET && lua_gettop(L) > _LuaStackTop + _LuaReturnValues) \ + { \ + ELUNA_LOG_ERROR("[Eluna]: Ending event %u for %s, stack top was %i and was supposed to be between %i and %i. Report to devs", _LuaEvent, _LuaBindType, lua_gettop(L), _LuaStackTop, _LuaStackTop + _LuaReturnValues); \ + } \ lua_settop(L, _LuaStackTop); void Eluna::OnLuaStateClose()