aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppClient.cpp
diff options
context:
space:
mode:
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())