diff --git a/src/user.cpp b/src/user.cpp index d5c689ae..30d58ae7 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -25,6 +25,8 @@ #include "transport/usermanager.h" #include "transport/conversationmanager.h" #include "Swiften/Swiften.h" +#include "Swiften/Server/ServerStanzaChannel.h" +#include "Swiften/Elements/StreamError.h" namespace Transport { @@ -110,6 +112,7 @@ void User::handleDisconnected(const std::string &error) { msg->setBody(error); msg->setTo(m_jid.toBare()); m_component->getStanzaChannel()->sendMessage(msg); + dynamic_cast(m_component->getStanzaChannel())->finishSession(m_jid, boost::shared_ptr(new Swift::StreamError())); m_userManager->removeUser(this); }