# HG changeset patch # User Stu Tomlinson # Date 1179883242 0 # Node ID d63075ed73c94694d42ed4dd93c5dadab34617d3 # Parent d8102e923bd103030ea1794c0e05f43bc6b9ed92 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 diff -r d8102e923bd1 -r d63075ed73c9 libpurple/protocols/msn/msn.c --- 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! */