changeset 10306:56cc5d49472b

[gaim-migrate @ 11492] " Well, I found a bug, and even though I had code to prevent that crash it seems it did not. So now here is in a different way, which by the way is more efficient." --Felipe Contreras (19:35:44) shx: LSchiere: there's a bugfix patch for msn in the tracker if it interest you ;) (19:35:59) LSchiere: the one i assigned to nosnilmot just a little bit ago? (19:36:24) shx: LSchiere: probably (19:38:25) LSchiere: i just remembered to day is release day (19:38:51) shx: yeap... so I tought it was important to commit it also, i rather like being able to compile committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Fri, 03 Dec 2004 00:57:21 +0000
parents 9bfcb5eb12bd
children 2ac21bf20e04
files src/gtkmain.c src/protocols/msn/msn.c src/protocols/msn/slpmsg.c src/protocols/msn/switchboard.c
diffstat 4 files changed, 13 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/gtkmain.c	Fri Dec 03 00:10:19 2004 +0000
+++ b/src/gtkmain.c	Fri Dec 03 00:57:21 2004 +0000
@@ -55,7 +55,6 @@
 #include "gtkrequest.h"
 #include "gtkroomlist.h"
 #include "gtksound.h"
-#include "gtkstatus.h"
 #include "gtkutils.h"
 #include "gtkstock.h"
 
@@ -314,8 +313,6 @@
 	/* And raise the curtain! */
 	gtk_widget_show_all(mainwindow);
 
-	/* XXX - TODO - STATUS - Remove this! */
-	gaim_gtk_status_window_show();
 }
 
 static void
@@ -467,7 +464,6 @@
 	gaim_gtk_conversations_init();
 	gaim_gtk_pounces_init();
 	gaim_gtk_privacy_init();
-	gaim_gtk_status_init();
 	gaim_gtk_xfers_init();
 	gaim_gtk_roomlist_init();
 }
--- a/src/protocols/msn/msn.c	Fri Dec 03 00:10:19 2004 +0000
+++ b/src/protocols/msn/msn.c	Fri Dec 03 00:57:21 2004 +0000
@@ -1255,16 +1255,8 @@
 
 	cmdproc = swboard->servconn->cmdproc;
 
-#if 0
-	if (swboard->current_users == 1)
-	{
-		msn_cmdproc_send_quick(cmdproc, "OUT", NULL, NULL);
-		msn_switchboard_destroy(swboard);
-	}
-#else
 	msn_cmdproc_send_quick(cmdproc, "OUT", NULL, NULL);
 	msn_switchboard_destroy(swboard);
-#endif
 }
 
 static void
--- a/src/protocols/msn/slpmsg.c	Fri Dec 03 00:10:19 2004 +0000
+++ b/src/protocols/msn/slpmsg.c	Fri Dec 03 00:57:21 2004 +0000
@@ -65,21 +65,29 @@
 
 	if (slpmsg->msg != NULL)
 	{
+		/* Something is pointing to this slpmsg, so we should remove that
+		 * pointer to prevent a crash. */
+		/* Ex: a user goes offline and after that we receive an ACK */
+
+		gaim_debug_info("msn", "Unlink slpmsg callbacks.\n");
+
+		slpmsg->msg->ack_cb = NULL;
+		slpmsg->msg->ack_data = NULL;
+
+#if 0
 		MsnTransaction *trans;
 
 		trans = slpmsg->msg->trans;
 
 		if (trans != NULL)
 		{
-			/* Something is pointing to this slpmsg, so we should remove that
-			 * pointer to prevent a crash. */
-
 			if (trans->callbacks != NULL && trans->has_custom_callbacks)
 				g_hash_table_destroy(trans->callbacks);
 			
 			trans->callbacks = NULL;
 			trans->data = NULL;
 		}
+#endif
 	}
 
 	slplink->slp_msgs =
--- a/src/protocols/msn/switchboard.c	Fri Dec 03 00:10:19 2004 +0000
+++ b/src/protocols/msn/switchboard.c	Fri Dec 03 00:57:21 2004 +0000
@@ -529,7 +529,8 @@
 
 	msg = cmd->trans->data;
 
-	msg->ack_cb(msg->ack_data);
+	if (msg->ack_cb != NULL)
+		msg->ack_cb(msg->ack_data);
 
 	msn_message_unref(msg);
 }