From 8d905df095f721f66b2b8576647cbbc0ee2754cf Mon Sep 17 00:00:00 2001 From: kervala Date: Tue, 12 Jan 2016 22:32:22 +0100 Subject: [PATCH] Merge with develop --- code/nel/include/nel/gui/lua_helper_inline.h | 10 ++++++++- .../client/src/login_progress_post_thread.cpp | 21 +++++++++---------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/code/nel/include/nel/gui/lua_helper_inline.h b/code/nel/include/nel/gui/lua_helper_inline.h index 68721cfaa..df75e6b5b 100644 --- a/code/nel/include/nel/gui/lua_helper_inline.h +++ b/code/nel/include/nel/gui/lua_helper_inline.h @@ -253,7 +253,15 @@ inline lua_Integer CLuaState::toInteger(int index) { //H_AUTO(Lua_CLuaState_toInteger) checkIndex(index); - return lua_tointeger(_State, index); + sint isnum = 0; + lua_Integer res = lua_tointegerx(_State, index, &isnum); + if (!isnum) + { + lua_Number d = lua_tonumber(_State, index); + nlwarning("Lua: Unable to convert Lua number %lf to integer", d); + res = (lua_Integer)d; + } + return res; } //================================================================================ diff --git a/code/ryzom/client/src/login_progress_post_thread.cpp b/code/ryzom/client/src/login_progress_post_thread.cpp index 792ef3c04..14d300bcb 100644 --- a/code/ryzom/client/src/login_progress_post_thread.cpp +++ b/code/ryzom/client/src/login_progress_post_thread.cpp @@ -345,21 +345,20 @@ void CLoginProgressPostThread::init(NLMISC::CConfigFile &configFile) static std::string::size_type httpStrSize = httpStr.size(); std::string tmp = configFile.getVarPtr("InstallStatsUrl")->asString(0); std::string::size_type it= tmp.find(httpStr); - if (it != std::string::npos) - { - std::string::size_type hostPageSeparator = tmp.find("/", httpStrSize); - if (hostPageSeparator != std::string::npos) - { - installStartupPage = tmp.substr(hostPageSeparator); //keep the leading slash - installStartupHost = tmp.substr(httpStrSize, hostPageSeparator - httpStrSize); // dont keep the last slah - } - } + if (it == std::string::npos) return; + + std::string::size_type hostPageSeparator = tmp.find("/", httpStrSize); + if (hostPageSeparator == std::string::npos) return; + + installStartupPage = tmp.substr(hostPageSeparator); //keep the leading slash + installStartupHost = tmp.substr(httpStrSize, hostPageSeparator - httpStrSize); // dont keep the last slah + + init(installStartupHost, installStartupPage); } else { - nlwarning("Error the InstallStatsUrl is not in the client_default.cfg."); +// nlwarning("Error the InstallStatsUrl is not in the client_default.cfg."); } - init(installStartupHost, installStartupPage); }