Mercurial > pidgin
changeset 31183:feff62713d9c
conversation: Move the "not typing" logic for receipt of a message to purple_conv_im_write.
This causes issues when a UI implements the write_im UI op and doesn't call
purple_conversation_write (which Spectrum doesn't do), and ends up with
a buddy appearing to be stuck in the typing state.
Patch from Jan "HanzZ" Kaluza
committer: Paul Aurich <paul@darkrain42.org>
author | hanzz.k@gmail.com |
---|---|
date | Sat, 05 Feb 2011 22:38:55 +0000 |
parents | b935d9f5cc68 |
children | ab175460cea7 |
files | ChangeLog libpurple/conversation.c |
diffstat | 2 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Feb 03 04:38:19 2011 +0000 +++ b/ChangeLog Sat Feb 05 22:38:55 2011 +0000 @@ -32,6 +32,8 @@ Samstag) (#13073) * Fixed bugs in purple_str_to_time() that caused the most recent 'make check' failures. (Nader Morshed) (#13131) + * Correct an issue that caused some UIs other than Pidgin or Finch to + leave a buddy in the "is typing" state. (Jan Kaluza) Pidgin: * Support using the Page Up and Page Down keys on the numeric keypad in
--- a/libpurple/conversation.c Thu Feb 03 04:38:19 2011 +0000 +++ b/libpurple/conversation.c Sat Feb 05 22:38:55 2011 +0000 @@ -999,12 +999,6 @@ } } - if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) { - if ((flags & PURPLE_MESSAGE_RECV) == PURPLE_MESSAGE_RECV) { - purple_conv_im_set_typing_state(PURPLE_CONV_IM(conv), PURPLE_NOT_TYPING); - } - } - if (ops && ops->write_conv) ops->write_conv(conv, who, alias, displayed, flags, mtime); @@ -1229,6 +1223,10 @@ c->ui_ops->write_im(c, who, message, flags, mtime); else purple_conversation_write(c, who, message, flags, mtime); + + if ((flags & PURPLE_MESSAGE_RECV) == PURPLE_MESSAGE_RECV) { + purple_conv_im_set_typing_state(im, PURPLE_NOT_TYPING); + } } gboolean purple_conv_present_error(const char *who, PurpleAccount *account, const char *what)