]> git.0d.be Git - empathy.git/commitdiff
chat: use contact-chat-state-changed signal
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Thu, 10 May 2012 09:59:17 +0000 (11:59 +0200)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Thu, 10 May 2012 13:58:29 +0000 (15:58 +0200)
Now that we have a signal giving us a prepared TpContact there is no need to
use the empathy variant as we can easily create the EmpathyContact directly.

https://bugzilla.gnome.org/show_bug.cgi?id=675807

libempathy-gtk/empathy-chat.c

index b2224c2dba52489227b1aa22e6c5cc25aabf21ef..65dd47650c0865762da33d21b89b5e6795502827 100644 (file)
@@ -1344,19 +1344,22 @@ chat_input_text_view_send (EmpathyChat *chat)
 
 static void
 chat_state_changed_cb (EmpathyTpChat      *tp_chat,
-                      EmpathyContact     *contact,
+                      TpContact     *tp_contact,
                       TpChannelChatState  state,
                       EmpathyChat        *chat)
 {
        EmpathyChatPriv *priv;
        GList          *l;
        gboolean        was_composing;
+       EmpathyContact *contact;
 
        priv = GET_PRIV (chat);
 
+       contact = empathy_contact_dup_from_tp_contact (tp_contact);
+
        if (empathy_contact_is_user (contact)) {
                /* We don't care about our own chat state */
-               return;
+               goto out;
        }
 
        was_composing = (priv->compositors != NULL);
@@ -1401,6 +1404,9 @@ chat_state_changed_cb (EmpathyTpChat      *tp_chat,
                g_signal_emit (chat, signals[COMPOSING], 0,
                               priv->compositors != NULL);
        }
+
+out:
+       g_object_unref (contact);
 }
 
 static GRegex *
@@ -1524,7 +1530,7 @@ chat_message_received (EmpathyChat *chat,
 
        /* We received a message so the contact is no longer
         * composing */
-       chat_state_changed_cb (priv->tp_chat, sender,
+       chat_state_changed_cb (priv->tp_chat, empathy_contact_get_tp_contact (sender),
                               TP_CHANNEL_CHAT_STATE_ACTIVE,
                               chat);
 }
@@ -4025,7 +4031,7 @@ empathy_chat_set_tp_chat (EmpathyChat   *chat,
        g_signal_connect (tp_chat, "send-error",
                          G_CALLBACK (chat_send_error_cb),
                          chat);
-       g_signal_connect (tp_chat, "chat-state-changed-empathy",
+       g_signal_connect (tp_chat, "contact-chat-state-changed",
                          G_CALLBACK (chat_state_changed_cb),
                          chat);
        g_signal_connect (tp_chat, "members-changed",