diff libpurple/protocols/msn/switchboard.c @ 31791:6ce4f2272abc

Fix a crash when the account is disconnected and we have requested a SB. (Hanzz, ported by shlomif)(Fixes #12431)
author masca@cpw.pidgin.im
date Sun, 14 Aug 2011 19:04:59 +0000
parents 79ae7200a11a
children 22cb8c11bba8
line wrap: on
line diff
--- a/libpurple/protocols/msn/switchboard.c	Sat Aug 13 21:57:35 2011 +0000
+++ b/libpurple/protocols/msn/switchboard.c	Sun Aug 14 19:04:59 2011 +0000
@@ -421,9 +421,10 @@
 
 	purple_debug_info("msn", "unqueuing unsent message to %s\n", swboard->im_user);
 
-	msn_switchboard_request(swboard);
-	msn_switchboard_request_add_user(swboard, swboard->im_user);
-	swboard->reconn_timeout_h = 0;
+	if (msn_switchboard_request(swboard)) {
+		msn_switchboard_request_add_user(swboard, swboard->im_user);
+		swboard->reconn_timeout_h = 0;
+	}
 	return FALSE;
 }
 
@@ -1078,7 +1079,7 @@
 	swboard_error_helper(swboard, reason, swboard->im_user);
 }
 
-void
+gboolean
 msn_switchboard_request(MsnSwitchBoard *swboard)
 {
 	MsnCmdProc *cmdproc;
@@ -1094,7 +1095,7 @@
 	msn_transaction_set_data(trans, swboard);
 	msn_transaction_set_error_cb(trans, xfr_error);
 
-	msn_cmdproc_send_trans(cmdproc, trans);
+	return msn_cmdproc_send_trans(cmdproc, trans);
 }
 
 void