From 25f5516757ed3f9e5259144a1cf3aac0017d5b8c Mon Sep 17 00:00:00 2001 From: HanzZ Date: Sun, 17 Jul 2011 04:26:55 +0200 Subject: [PATCH] Fixed double delete on legacy network error --- include/transport/usermanager.h | 4 ++++ spectrum/src/sample.cfg | 4 ++-- src/user.cpp | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/transport/usermanager.h b/include/transport/usermanager.h index 33f176c8..85e06032 100644 --- a/include/transport/usermanager.h +++ b/include/transport/usermanager.h @@ -77,6 +77,10 @@ class UserManager { return m_users.find(barejid) != m_users.end(); } + UserRegistry *getUserRegistry() { + return m_userRegistry; + } + void connectUser(const Swift::JID &user); private: diff --git a/spectrum/src/sample.cfg b/spectrum/src/sample.cfg index c9c0c79f..9d5c8700 100644 --- a/spectrum/src/sample.cfg +++ b/spectrum/src/sample.cfg @@ -13,8 +13,8 @@ admin_password=test users_per_backend=2 backend=../../backends/libpurple/spectrum_libpurple_backend #backend=../../backends/libircclient-qt/spectrum_libircclient-qt_backend -protocol=prpl-jabber -#protocol=prpl-msn +#protocol=prpl-jabber +protocol=prpl-msn #protocol=prpl-icq [logging] diff --git a/src/user.cpp b/src/user.cpp index bedf30e6..a4a2214b 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -191,7 +191,9 @@ void User::handleDisconnected(const std::string &error) { // Once in finishSession and once in m_userManager->removeUser. if (m_component->inServerMode()) { dynamic_cast(m_component->getStanzaChannel())->finishSession(m_jid, boost::shared_ptr(new Swift::StreamError())); - m_userManager->removeUser(this); + if (!m_readyForConnect) { + m_userManager->removeUser(this); + } } else { m_userManager->removeUser(this);