# HG changeset patch # User Elliott Sales de Andrade # Date 1215911709 0 # Node ID af2cfc9a42b3e1aeb7041e430e4ceb5bdd080314 # Parent 5dafc77b169e0e826061256e5656eb3183c62d51 On MSN, cancel the connection process to a server before checking servconn->connected. Otherwise, if the MsnServConn wasn't marked as connected, and the account was disabled, the request would continue on while the MsnServConn was freed. diff -r 5dafc77b169e -r af2cfc9a42b3 libpurple/protocols/msn/servconn.c --- a/libpurple/protocols/msn/servconn.c Sat Jul 12 07:32:05 2008 +0000 +++ b/libpurple/protocols/msn/servconn.c Sun Jul 13 01:15:09 2008 +0000 @@ -255,6 +255,12 @@ { g_return_if_fail(servconn != NULL); + if (servconn->connect_data != NULL) + { + purple_proxy_connect_cancel(servconn->connect_data); + servconn->connect_data = NULL; + } + if (!servconn->connected) { /* We could not connect. */ @@ -273,12 +279,6 @@ return; } - if (servconn->connect_data != NULL) - { - purple_proxy_connect_cancel(servconn->connect_data); - servconn->connect_data = NULL; - } - if (servconn->inpa > 0) { purple_input_remove(servconn->inpa); diff -r 5dafc77b169e -r af2cfc9a42b3 libpurple/protocols/msnp9/servconn.c --- a/libpurple/protocols/msnp9/servconn.c Sat Jul 12 07:32:05 2008 +0000 +++ b/libpurple/protocols/msnp9/servconn.c Sun Jul 13 01:15:09 2008 +0000 @@ -251,6 +251,12 @@ { g_return_if_fail(servconn != NULL); + if (servconn->connect_data != NULL) + { + purple_proxy_connect_cancel(servconn->connect_data); + servconn->connect_data = NULL; + } + if (!servconn->connected) { /* We could not connect. */ @@ -269,12 +275,6 @@ return; } - if (servconn->connect_data != NULL) - { - purple_proxy_connect_cancel(servconn->connect_data); - servconn->connect_data = NULL; - } - if (servconn->inpa > 0) { purple_input_remove(servconn->inpa);