diff options
Diffstat (limited to 'Swiften/Client/Client.cpp')
| -rw-r--r-- | Swiften/Client/Client.cpp | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/Swiften/Client/Client.cpp b/Swiften/Client/Client.cpp index e9de19a..27f3d9c 100644 --- a/Swiften/Client/Client.cpp +++ b/Swiften/Client/Client.cpp @@ -72,9 +72,10 @@ void Client::handleConnectorFinished(boost::shared_ptr<Connection> connection) {  void Client::disconnect() {  	if (session_) {  		session_->finish(); -		session_.reset();  	} -	closeConnection(); +	else { +		closeConnection(); +	}  }  void Client::closeConnection() { @@ -136,6 +137,7 @@ void Client::setCertificate(const String& certificate) {  }  void Client::handleSessionFinished(boost::shared_ptr<Error> error) { +	session_.reset();  	closeConnection();  	if (error) {  		ClientError clientError; @@ -191,7 +193,6 @@ void Client::handleSessionFinished(boost::shared_ptr<Error> error) {  		}  		onError(clientError);  	} -	session_.reset();  }  void Client::handleNeedCredentials() {  | 
 Swift