diff libpurple/protocols/msn/msn.c @ 17247:d63075ed73c9

When closing IM windows on MSN, don't release the switchboard connection immediately, let it timeout peacefully. This will prevent incorrect errors about messages being unable to be sent if the user closes the window before we receive the ACK about the sent message. It will also totally mess up any client that tries to show "User has closed the conversation window" type messages, but they have *never* been accurate anyway. Fixes #241
author Stu Tomlinson <stu@nosnilmot.com>
date Wed, 23 May 2007 01:20:42 +0000
parents c2ecc135867d
children 3e437e86bd6e 02abb6713cf2 48e26f248251 ddd3c6e238fe
line wrap: on
line diff
--- a/libpurple/protocols/msn/msn.c	Tue May 22 22:46:07 2007 +0000
+++ b/libpurple/protocols/msn/msn.c	Wed May 23 01:20:42 2007 +0000
@@ -1297,7 +1297,12 @@
 
 	conv = swboard->conv;
 
-	msn_switchboard_release(swboard, MSN_SB_FLAG_IM);
+	/* If we release the switchboard here, it may still have messages
+	   pending ACK which would result in incorrect unsent message errors.
+	   Just let it timeout... This is *so* going to screw with people who
+	   use dumb clients that report "User has closed the conversation window" */
+	/* msn_switchboard_release(swboard, MSN_SB_FLAG_IM); */
+	swboard->conv = NULL;
 
 	/* If other switchboards managed to associate themselves with this
 	 * conv, make sure they know it's gone! */