--- 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)