Mercurial > pidgin
changeset 15648:e86623eb3b79
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.
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Fri, 16 Feb 2007 00:53:06 +0000 |
parents | 193456f03b9c |
children | e9a87896557e |
files | libpurple/protocols/jabber/message.c |
diffstat | 1 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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)) {