From 6a4fffdfe8c7790a4f889757ca778184f59731a2 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Tue, 5 Apr 2011 11:10:56 +0200 Subject: [PATCH] Fixed crash in component mode in handleDisconnected --- src/user.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/user.cpp b/src/user.cpp index 30d58ae7..33feb3ac 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -111,8 +111,12 @@ void User::handleDisconnected(const std::string &error) { boost::shared_ptr msg(new Swift::Message()); msg->setBody(error); msg->setTo(m_jid.toBare()); + msg->setFrom(m_component->getJID()); m_component->getStanzaChannel()->sendMessage(msg); - dynamic_cast(m_component->getStanzaChannel())->finishSession(m_jid, boost::shared_ptr(new Swift::StreamError())); + + if (m_component->inServerMode()) { + dynamic_cast(m_component->getStanzaChannel())->finishSession(m_jid, boost::shared_ptr(new Swift::StreamError())); + } m_userManager->removeUser(this); }