From c1b7d619971ea3dc7f644c86090a9ac518e44fb1 Mon Sep 17 00:00:00 2001 From: Stefan Dombrowski Date: Wed, 13 Oct 2010 13:40:41 +0200 Subject: Fixing switch login Switch login gets you stuck at the ConnectionDialog. That happens because logout is not implemented. TODO: Implementing proper logout. This resolves http://bugs.manasource.org/view.php?id=225 --- src/client.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index f1b363e9..9bf761a0 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -532,12 +532,7 @@ int Client::exec() Net::getLoginHandler()->disconnect(); } else if (mState == STATE_CONNECT_SERVER && - mOldState == STATE_CHOOSE_SERVER) - { - Net::connectToServer(mCurrentServer); - } - else if (mState == STATE_CONNECT_SERVER && - mOldState != STATE_CHOOSE_SERVER && + mOldState == STATE_CONNECT_SERVER && Net::getLoginHandler()->isConnected()) { mState = STATE_LOGIN; @@ -632,6 +627,9 @@ int Client::exec() case STATE_CONNECT_SERVER: logger->log("State: CONNECT SERVER"); + + Net::connectToServer(mCurrentServer); + mCurrentDialog = new ConnectionDialog( _("Connecting to server"), STATE_SWITCH_SERVER); break; @@ -924,9 +922,9 @@ int Client::exec() case STATE_SWITCH_LOGIN: logger->log("State: SWITCH LOGIN"); - Net::getLoginHandler()->logout(); + Net::getLoginHandler()->disconnect(); - mState = STATE_LOGIN; + mState = STATE_CONNECT_SERVER; break; case STATE_SWITCH_CHARACTER: -- cgit v1.2.3-60-g2f50