]> git.pld-linux.org Git - packages/empathy.git/commitdiff
- add BR: libchamplain
authorPatryk Zawadzki <patrys@room-303.com>
Tue, 16 Jun 2009 18:40:53 +0000 (18:40 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    empathy-bug585885.patch -> 1.1

empathy-bug585885.patch [new file with mode: 0644]

diff --git a/empathy-bug585885.patch b/empathy-bug585885.patch
new file mode 100644 (file)
index 0000000..4197150
--- /dev/null
@@ -0,0 +1,95 @@
+diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c
+index 82384ac..321d199 100644
+--- a/libempathy-gtk/empathy-theme-adium.c
++++ b/libempathy-gtk/empathy-theme-adium.c
+@@ -500,7 +500,8 @@ theme_adium_append_message (EmpathyChatView *view,
+       }
+       /* Get the right html/func to add the message */
+-      if (priv->last_contact == sender) {
++      func = "appendMessage";
++      if (empathy_contact_equal (priv->last_contact, sender)) {
+               func = "appendNextMessage";
+               if (empathy_contact_is_user (sender)) {
+                       html = priv->out_nextcontent_html;
+@@ -512,7 +513,6 @@ theme_adium_append_message (EmpathyChatView *view,
+               }
+       }
+       if (!html) {
+-              func = "appendMessage";
+               if (empathy_contact_is_user (sender)) {
+                       html = priv->out_content_html;
+                       len = priv->out_content_len;
+diff --git a/libempathy-gtk/empathy-theme-boxes.c b/libempathy-gtk/empathy-theme-boxes.c
+index 1991329..64d95d4 100644
+--- a/libempathy-gtk/empathy-theme-boxes.c
++++ b/libempathy-gtk/empathy-theme-boxes.c
+@@ -210,7 +210,7 @@ theme_boxes_maybe_append_header (EmpathyThemeBoxes *theme,
+       /* Only insert a header if the previously inserted block is not the same
+        * as this one.
+        */
+-      if (last_contact == contact) {
++      if (empathy_contact_equal (last_contact, contact)) {
+               return;
+       }
+diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
+index 8e07fb9..bad6ef4 100644
+--- a/libempathy/empathy-contact.c
++++ b/libempathy/empathy-contact.c
+@@ -1082,3 +1082,40 @@ empathy_contact_set_location (EmpathyContact *contact,
+   priv->location = g_hash_table_ref (location);
+   g_object_notify (G_OBJECT (contact), "location");
+ }
++
++/**
++ * empathy_contact_equal:
++ * @contact1: an #EmpathyContact
++ * @contact2: an #EmpathyContact
++ *
++ * Returns FALSE if one of the contacts is NULL but the other is not.
++ * Otherwise returns TRUE if both pointer are equal or if they bith
++ * refer to the same id.
++ * It's only necessary to call this function if your contact objects
++ * come from logs where contacts are created dynamically and comparing
++ * pointers is not enough.
++ */
++gboolean
++empathy_contact_equal (gconstpointer contact1,
++                       gconstpointer contact2)
++{
++  EmpathyContact *c1;
++  EmpathyContact *c2;
++  const gchar *id1;
++  const gchar *id2;
++
++  if ((contact1 == NULL) != (contact2 == NULL)) {
++    return FALSE;
++  }
++  if (contact1 == contact2) {
++    return TRUE;
++  }
++  c1 = EMPATHY_CONTACT (contact1);
++  c2 = EMPATHY_CONTACT (contact2);
++  id1 = empathy_contact_get_id (c1);
++  id2 = empathy_contact_get_id (c2);
++  if (!tp_strdiff (id1, id2)) {
++    return TRUE;
++  }
++  return FALSE;
++}
+diff --git a/libempathy/empathy-contact.h b/libempathy/empathy-contact.h
+index f441876..f888313 100644
+--- a/libempathy/empathy-contact.h
++++ b/libempathy/empathy-contact.h
+@@ -125,7 +125,9 @@ gboolean empathy_avatar_save_to_file (EmpathyAvatar *avatar,
+ GHashTable * empathy_contact_get_location (EmpathyContact *contact);
+ void empathy_contact_set_location (EmpathyContact *contact,
+-  GHashTable *location);
++    GHashTable *location);
++gboolean empathy_contact_equal (gconstpointer contact1,
++    gconstpointer contact2);
+ G_END_DECLS
This page took 0.090035 seconds and 4 git commands to generate.