diff options
author | Remko Tronçon <git@el-tramo.be> | 2012-04-23 20:26:02 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2012-04-23 20:26:02 (GMT) |
commit | ac8eb7c62838c7d85f451f2ee0f8456c14386137 (patch) | |
tree | 8b77da9045cf37c3de4bfd18ef004d30d26f38f0 /Swiften/Disco | |
parent | 4a8343171fd7717d61cb41b68055e32bc314503b (diff) | |
download | swift-contrib-ac8eb7c62838c7d85f451f2ee0f8456c14386137.zip swift-contrib-ac8eb7c62838c7d85f451f2ee0f8456c14386137.tar.bz2 |
Make sure setting disco info after reconnect does not immediately send presence.
Resolves: #976
Diffstat (limited to 'Swiften/Disco')
-rw-r--r-- | Swiften/Disco/ClientDiscoManager.cpp | 4 | ||||
-rw-r--r-- | Swiften/Disco/ClientDiscoManager.h | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Swiften/Disco/ClientDiscoManager.cpp b/Swiften/Disco/ClientDiscoManager.cpp index 99c0175..cca0144 100644 --- a/Swiften/Disco/ClientDiscoManager.cpp +++ b/Swiften/Disco/ClientDiscoManager.cpp @@ -36,4 +36,8 @@ void ClientDiscoManager::setDiscoInfo(const DiscoInfo& discoInfo) { presenceSender->setPayload(capsInfo); } +void ClientDiscoManager::handleConnected() { + presenceSender->reset(); +} + } diff --git a/Swiften/Disco/ClientDiscoManager.h b/Swiften/Disco/ClientDiscoManager.h index f8ba9ac..6f126eb 100644 --- a/Swiften/Disco/ClientDiscoManager.h +++ b/Swiften/Disco/ClientDiscoManager.h @@ -58,6 +58,13 @@ namespace Swift { return presenceSender; } + /** + * Called when the client is connected. + * This resets the presence sender, such that it assumes initial presence + * hasn't been sent yet. + */ + void handleConnected(); + private: PayloadAddingPresenceSender* presenceSender; DiscoInfoResponder* discoInfoResponder; |