From 25f5516757ed3f9e5259144a1cf3aac0017d5b8c 2011-07-17 04:26:55 From: HanzZ Date: 2011-07-17 04:26:55 Subject: [PATCH] Fixed double delete on legacy network error --- diff --git a/include/transport/usermanager.h b/include/transport/usermanager.h index 33f176c872b069b143e0b94f5218cc4c93e88224..85e060326e1498a17e816eb7c02520df7f6f3536 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 c9c0c79fdb5abbcf472eba39f9e8c78d9d8e185d..9d5c8700d4b83a754003ea469693977b972fc7bc 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 bedf30e63ecd74150d12ca6e01e0077dc4b74c9e..a4a2214b0ebc7f0b60ef8e2f826371d8c72e8022 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);