Changeset - c7ef038fecbd
[Not reviewed]
0 1 0
HanzZ - 14 years ago 2011-09-13 21:17:29
hanzz.k@gmail.com
Call purple_account_disconnect before set_enabled to avoid race condition with PurpleConnection disconnect timer
1 file changed with 1 insertions and 0 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -251,12 +251,13 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
 

	
 
		void handleLogoutRequest(const std::string &user, const std::string &legacyName) {
 
			PurpleAccount *account = m_sessions[user];
 
			if (account) {
 
// 				VALGRIND_DO_LEAK_CHECK;
 
				m_sessions.erase(user);
 
				purple_account_disconnect(account);
 
				purple_account_set_enabled(account, "spectrum", FALSE);
 

	
 
				// Remove conversations.
 
				// This has to be called before m_account->ui_data = NULL;, because it uses
 
				// ui_data to call SpectrumMessageHandler::purpleConversationDestroyed() callback.
 
				GList *iter;
0 comments (0 inline, 0 general)