diff -r f29c98661f0e -r 4e6e74a4683b 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);