diff --git a/src/client/ClientServices.cpp b/src/client/ClientServices.cpp index 16f5d8d..eda3306 100644 --- a/src/client/ClientServices.cpp +++ b/src/client/ClientServices.cpp @@ -160,6 +160,10 @@ ClientConnection* ClientServices::Connection() { return ClientServices::s_currentConnection; } +void ClientServices::Disconnect() { + ClientServices::Connection()->Disconnect(); +} + const char* ClientServices::GetCurrentLoginPortal() { return ClientServices::s_loginObj->GetLoginServerType() == 1 ? ClientServices::s_darkPortalVar->GetString() diff --git a/src/client/ClientServices.hpp b/src/client/ClientServices.hpp index 8be9ac4..46898da 100644 --- a/src/client/ClientServices.hpp +++ b/src/client/ClientServices.hpp @@ -31,6 +31,7 @@ class ClientServices : public LoginResponse { // Static functions static void ConnectToSelectedServer(); static ClientConnection* Connection(); + static void Disconnect(); static const char* GetCurrentLoginPortal(); static const char* GetCurrentLoginServer(); static const char* GetErrorToken(int32_t errorCode); diff --git a/src/glue/CGlueMgr.cpp b/src/glue/CGlueMgr.cpp index 39e6827..0221b92 100644 --- a/src/glue/CGlueMgr.cpp +++ b/src/glue/CGlueMgr.cpp @@ -115,7 +115,7 @@ void CGlueMgr::ChangeRealm(const REALM_INFO* realmInfo) { CGlueMgr::m_disconnectPending = 1; CGlueMgr::m_reconnect = 1; - ClientServices::Connection()->Disconnect(); + ClientServices::Disconnect(); return; } @@ -623,7 +623,7 @@ void CGlueMgr::PollAccountLogin(int32_t errorCode, const char* msg, int32_t comp if (errorCode == 2) { CGlueMgr::m_disconnectPending = 1; - ClientServices::Connection()->Disconnect(); + ClientServices::Disconnect(); } if (errorCode != 13) { diff --git a/src/ui/ScriptFunctionsGlueScriptEvents.cpp b/src/ui/ScriptFunctionsGlueScriptEvents.cpp index 6d33f4e..f4dbf5c 100644 --- a/src/ui/ScriptFunctionsGlueScriptEvents.cpp +++ b/src/ui/ScriptFunctionsGlueScriptEvents.cpp @@ -258,7 +258,7 @@ int32_t Script_GetServerName(lua_State* L) { int32_t Script_DisconnectFromServer(lua_State* L) { if (ClientServices::IsConnected()) { CGlueMgr::m_disconnectPending = 1; - ClientServices::Connection()->Disconnect(); + ClientServices::Disconnect(); } ClientServices::LoginConnection()->Logoff();