# HG changeset patch # User Sean Egan # Date 1171587186 0 # Node ID e86623eb3b795f3a70693e0b61f40779dfcb67e5 # Parent 193456f03b9c9f5984ab1315de0bbcc6b795dc2b Receiving XEP 85 'gone' messages. Doesn't do anything because of the string freeze. This is akin to the MSN 'so-and-so has closed the conversation window' messages. Rlaager made a strong point to me that they're not altogether stalky, but can be useful. diff -r 193456f03b9c -r e86623eb3b79 libpurple/protocols/jabber/message.c --- a/libpurple/protocols/jabber/message.c Fri Feb 16 00:40:35 2007 +0000 +++ b/libpurple/protocols/jabber/message.c Fri Feb 16 00:53:06 2007 +0000 @@ -78,12 +78,26 @@ } if(!jm->xhtml && !jm->body) { - if(JM_STATE_COMPOSING == jm->chat_state) + if(JM_STATE_COMPOSING == jm->chat_state) { serv_got_typing(jm->js->gc, from, 0, GAIM_TYPING); - else if(JM_STATE_PAUSED == jm->chat_state) + } else if(JM_STATE_PAUSED == jm->chat_state) { serv_got_typing(jm->js->gc, from, 0, GAIM_TYPED); - else + } else if(JM_STATE_GONE == jm->chat_state) { + GaimConversation *conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, + from, jm->js->gc->account); + if (conv) { +#if 0 /* String freeze */ + gaim_conversation_write(conv, "", + "So and so has left the conversation.", + GAIM_MESSAGE_INFO, time(NULL)); +#endif + + } serv_got_typing_stopped(jm->js->gc, from); + + } else { + serv_got_typing_stopped(jm->js->gc, from); + } } else { if(jbr) { if(JM_TS_JEP_0085 == (jm->typing_style & JM_TS_JEP_0085)) {