summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanielle Madeley <danielle.madeley@collabora.co.uk>2011-05-25 17:13:52 +1000
committerDanielle Madeley <danielle.madeley@collabora.co.uk>2011-05-26 12:19:43 +1000
commitac61158fcb011e8a05d48fd35c191c82511c6fa6 (patch)
tree55f04a3e9b901d024c2cc0a462319df299744559
parent4b356e81f38ed18ef383a41d1f7c9774d07c9bfe (diff)
downloadempathy-ac61158fcb011e8a05d48fd35c191c82511c6fa6.tar.gz
Reset the chat state after receiving an edited message
-rw-r--r--libempathy-gtk/empathy-chat.c21
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