]> Some of my projects - anidbudpclient.git/commitdiff
Do not allow leaving from error state without calling clearErrors()
authorAPTX <marek321@gmail.com>
Wed, 11 Jul 2012 00:46:18 +0000 (02:46 +0200)
committerAPTX <marek321@gmail.com>
Wed, 11 Jul 2012 00:46:18 +0000 (02:46 +0200)
client.cpp

index 775c67fc33644aa1bf205f873ac8e24ac2a3670f..5fd21109e249c9d6802349dadd911e66432a397c 100644 (file)
@@ -91,7 +91,6 @@ qDebug() << "Api instance init!";
 
        // ------------- Transitions ---------------------
        errorState->addTransition(this, SIGNAL(clearErrorsRequested()), disconnectedState);
-       errorState->addTransition(this, SIGNAL(startConnecting()), connectingState);
 
        connectedState->addTransition(this, SIGNAL(startDisconnecting()), disconnectedState);
        connectedState->addTransition(socket, SIGNAL(readyRead()), recieveState);
@@ -124,9 +123,7 @@ qDebug() << "Api instance init!";
        recieveState->addTransition(this, SIGNAL(connectionError()), errorState);
        recieveState->addTransition(this, SIGNAL(replyRecieved()), connectedHistoryState);
 
-
        recieveFailState->addTransition(this, SIGNAL(connectionError()), errorState);
-
        recieveFailState->addTransition(sendState);
        // ------------ END Transitions -------------------
 
@@ -948,6 +945,9 @@ void Client::cancel(AbstractReply *reply)
 void Client::clearErrors()
 {
        emit clearErrorsRequested();
+
+       // Make sure Client leaves the error state
+       QCoreApplication::processEvents();
 }
 
 void Client::logout()