pidgin: 181e1f6b: This should fix a crash that I've been s...

khc at pidgin.im khc at pidgin.im
Thu Aug 14 01:30:45 EDT 2008


-----------------------------------------------------------------
Revision: 181e1f6b21a5dc3c848f82475078ab94654fbb10
Ancestor: 1e183bf34c7e53875e2aded3b5187b1839a2887a
Author: khc at pidgin.im
Date: 2008-08-14T05:25:12
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/181e1f6b21a5dc3c848f82475078ab94654fbb10

Modified files:
        libpurple/protocols/msn/slplink.c
        libpurple/protocols/msn/switchboard.c

ChangeLog: 

This should fix a crash that I've been seeing. I am not sure if this is the
same as #6441 or not, my backtrace is different, but I can always hope, right?

Would appreciate if whoever's been seeing that test again.

References #6441


-------------- next part --------------
============================================================
--- libpurple/protocols/msn/slplink.c	7a7f1b4936a759cad05f3714bbb9bf5204b381a6
+++ libpurple/protocols/msn/slplink.c	3ff504afa7d682cf09ba24bc78671c610156baae
@@ -27,6 +27,8 @@
 #include "switchboard.h"
 #include "slp.h"
 
+#define MSN_DEBUG_SLPLINK
+
 void msn_slplink_send_msgpart(MsnSlpLink *slplink, MsnSlpMessage *slpmsg);
 
 #ifdef MSN_DEBUG_SLP_FILES
============================================================
--- libpurple/protocols/msn/switchboard.c	13a50815a79bbee9390d4fd53ae0cbc7ab093b45
+++ libpurple/protocols/msn/switchboard.c	57c3d21abdc054b5d1cfa3460ba0f07bc0d099d7
@@ -34,6 +34,8 @@ static void msg_error_helper(MsnCmdProc 
 static void msg_error_helper(MsnCmdProc *cmdproc, MsnMessage *msg,
 							 MsnMsgErrorType error);
 
+#define MSN_DEBUG_SB
+
 /**************************************************************************
  * Main
  **************************************************************************/
@@ -114,6 +116,11 @@ msn_switchboard_destroy(MsnSwitchBoard *
 	session = swboard->session;
 	session->switches = g_list_remove(session->switches, swboard);
 
+	for (l = session->slplinks; l; l = l->next) {
+		MsnSlpLink *slplink = l->data;
+		if (slplink->swboard == swboard) slplink->swboard = NULL;
+	}
+
 #if 0
 	/* This should never happen or we are in trouble. */
 	if (swboard->servconn != NULL)
@@ -540,7 +547,7 @@ release_msg(MsnSwitchBoard *swboard, Msn
 	payload = msn_message_gen_payload(msg, &payload_len);
 
 #ifdef MSN_DEBUG_SB
-	purple_debug_info("msn", "SB length:{%d}", payload_len);
+	purple_debug_info("msn", "SB length:{%" G_GSIZE_FORMAT "}", payload_len);
 	msn_message_show_readable(msg, "SB SEND", FALSE);
 #endif
 


More information about the Commits mailing list