aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppClient.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-05-16 12:48:10 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-05-16 12:48:10 +0200
commite1c32c376cace7fdb7432493154b6db7c72d5905 (patch)
treeb83fc5fa62158cf96f36bd998fa63666322b2a77 /src/client/QXmppClient.cpp
parent0e938469ba2361e0f77661b2cb5485041df7a4c2 (diff)
downloadqxmpp-e1c32c376cace7fdb7432493154b6db7c72d5905.tar.gz
cancel reconnection timer when the user explicitly disconnects
Diffstat (limited to 'src/client/QXmppClient.cpp')
-rw-r--r--src/client/QXmppClient.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp
index de7acb5d..29462c06 100644
--- a/src/client/QXmppClient.cpp
+++ b/src/client/QXmppClient.cpp
@@ -348,6 +348,9 @@ bool QXmppClient::sendPacket(const QXmppStanza& packet)
void QXmppClient::disconnectFromServer()
{
+ // cancel reconnection
+ d->reconnectionTimer->stop();
+
d->clientPresence.setType(QXmppPresence::Unavailable);
d->clientPresence.status().setType(QXmppPresence::Status::Offline);
d->clientPresence.status().setStatusText("Logged out");
@@ -441,6 +444,9 @@ void QXmppClient::setClientPresence(const QXmppPresence& presence)
if (presence.type() == QXmppPresence::Unavailable)
{
+ // cancel reconnection
+ d->reconnectionTimer->stop();
+
// NOTE: we can't call disconnect() because it alters
// the client presence
if (d->stream->isConnected())