diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-05-25 17:13:52 +1000 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-05-26 12:19:43 +1000 |
commit | ac61158fcb011e8a05d48fd35c191c82511c6fa6 (patch) | |
tree | 55f04a3e9b901d024c2cc0a462319df299744559 | |
parent | 4b356e81f38ed18ef383a41d1f7c9774d07c9bfe (diff) | |
download | empathy-ac61158fcb011e8a05d48fd35c191c82511c6fa6.tar.gz |
Reset the chat state after receiving an edited message
-rw-r--r-- | libempathy-gtk/empathy-chat.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c index 49bfa5c39..6b89024d7 100644 --- a/libempathy-gtk/empathy-chat.c +++ b/libempathy-gtk/empathy-chat.c @@ -1173,6 +1173,9 @@ chat_message_received (EmpathyChat *chat, gboolean pending) { EmpathyChatPriv *priv = GET_PRIV (chat); + EmpathyContact *sender; + + sender = empathy_message_get_sender (message); if (empathy_message_is_edit (message)) { DEBUG ("Editing message '%s' to '%s'", @@ -1180,13 +1183,7 @@ chat_message_received (EmpathyChat *chat, empathy_message_get_body (message)); empathy_chat_view_edit_message (chat->view, message); - - /* FIXME: do we need to do things like edit the chat state? */ } else { - EmpathyContact *sender; - - sender = empathy_message_get_sender (message); - DEBUG ("Appending new message '%s' from %s (%d)", empathy_message_get_token (message), empathy_contact_get_alias (sender), @@ -1194,15 +1191,15 @@ chat_message_received (EmpathyChat *chat, empathy_chat_view_append_message (chat->view, message); - /* We received a message so the contact is no longer - * composing */ - chat_state_changed_cb (priv->tp_chat, sender, - TP_CHANNEL_CHAT_STATE_ACTIVE, - chat); - priv->unread_messages++; g_signal_emit (chat, signals[NEW_MESSAGE], 0, message, pending); } + + /* We received a message so the contact is no longer + * composing */ + chat_state_changed_cb (priv->tp_chat, sender, + TP_CHANNEL_CHAT_STATE_ACTIVE, + chat); } static void |