From 206026ac9dc0c5fba3698283af739c26b47aa700 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 11 Jan 2016 11:34:32 +0100 Subject: [PATCH] Fixed: In Lua, all integers are numbers and numbers can be converted to integers --- code/nel/src/gui/lua_ihm.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/code/nel/src/gui/lua_ihm.cpp b/code/nel/src/gui/lua_ihm.cpp index b409de661..d55bda42d 100644 --- a/code/nel/src/gui/lua_ihm.cpp +++ b/code/nel/src/gui/lua_ihm.cpp @@ -231,24 +231,20 @@ namespace NLGUI } -#if LUA_VERSION_NUM < 503 -#define lua_isinteger(a, b) lua_isnumber(a, b) -#endif - // *************************************************************************** #define LUA_REGISTER_BASIC(_type_) \ luabind::detail::yes_t is_user_defined(luabind::detail::by_value<_type_>); \ - _type_ convert_lua_to_cpp(lua_State* L, luabind::detail::by_value<_type_>, int index) \ + _type_ convert_lua_to_cpp(lua_State* L, luabind::detail::by_value<_type_>, int index) \ { \ - return (_type_)lua_tointeger(L, index); \ + return (_type_)lua_tointeger(L, index); \ } \ - int match_lua_to_cpp(lua_State* L, luabind::detail::by_value<_type_>, int index) \ + int match_lua_to_cpp(lua_State* L, luabind::detail::by_value<_type_>, int index) \ { \ - if (lua_isinteger(L, index)) return 0; else return -1; \ + return lua_isnumber(L, index) ? 0:-1; \ } \ - void convert_cpp_to_lua(lua_State* L, const _type_& v) \ + void convert_cpp_to_lua(lua_State* L, const _type_& v) \ { \ - lua_pushinteger(L, (double)v); \ + lua_pushinteger(L, (lua_Integer)v); \ } // Basic LUA types