cpw.qulogic.msn: 34584d0d: On MSN, cancel the connection process to...

qulogic at pidgin.im qulogic at pidgin.im
Sun Jul 13 01:50:51 EDT 2008


-----------------------------------------------------------------
Revision: 34584d0de7ea55988b2589e00565d85db7d0b097
Ancestor: b7a989b0f30d4b9927e58b26e3a90c6339b140d0
Author: qulogic at pidgin.im
Date: 2008-07-13T01:15:09
Branch: im.pidgin.cpw.qulogic.msn
URL: http://d.pidgin.im/viewmtn/revision/info/34584d0de7ea55988b2589e00565d85db7d0b097

Modified files:
        libpurple/protocols/msn/servconn.c
        libpurple/protocols/msnp9/servconn.c

ChangeLog: 

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.

-------------- next part --------------
============================================================
--- libpurple/protocols/msn/servconn.c	0f97d21ee4c3fefa49f8ca979afce2a4b256c990
+++ libpurple/protocols/msn/servconn.c	8b4fc9d18380fc56b1caf6a00f6dbeb0d883703a
@@ -255,6 +255,12 @@ msn_servconn_disconnect(MsnServConn *ser
 {
 	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 @@ msn_servconn_disconnect(MsnServConn *ser
 		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);
============================================================
--- libpurple/protocols/msnp9/servconn.c	b9f1ecd45bd42e69acf0a9b576c6befe445dee66
+++ libpurple/protocols/msnp9/servconn.c	b7dc6c6f54973c18cfac1e7d360b298aeaf946ba
@@ -251,6 +251,12 @@ msn_servconn_disconnect(MsnServConn *ser
 {
 	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 @@ msn_servconn_disconnect(MsnServConn *ser
 		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);


More information about the Commits mailing list