libpurple/protocols/jabber/si.c

changeset 33792
3f47965d439f
parent 32703
cd83cdab1b0f
child 33895
72fe8d31bad3
--- a/libpurple/protocols/jabber/si.c	Wed Feb 20 23:49:46 2013 +0100
+++ b/libpurple/protocols/jabber/si.c	Mon Feb 25 22:12:43 2013 -0800
@@ -266,7 +266,16 @@
 
 	streamhost = jsx->streamhosts->data;
 
-	jsx->connect_data = NULL;
+	if (jsx->connect_data) {
+		purple_debug_info("jabber",
+				"jabber_si_bytestreams_attempt_connect: "
+				"cancelling existing connection attempt and restarting\n");
+		purple_proxy_connect_cancel(jsx->connect_data);
+		jsx->connect_data = NULL;
+		if (jsx->connect_timeout > 0)
+			purple_timeout_remove(jsx->connect_timeout);
+		jsx->connect_timeout = 0;
+	}
 	if (jsx->gpi != NULL)
 		purple_proxy_info_destroy(jsx->gpi);
 	jsx->gpi = NULL;

mercurial