changeset 17198: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 d8102e923bd1
children 204cbfeae945
files libpurple/protocols/msn/msn.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
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! */