[empathy] got_added_members_cb: check if contact is already in the	hash before adding it
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [empathy] got_added_members_cb: check if contact is already in the	hash before adding it
- Date: Wed, 31 Mar 2010 08:42:03 +0000 (UTC)
commit f898afc1d4e7bfae0ee8e3c5e6b7a0a0427fd6e3
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Mon Dec 14 12:25:34 2009 +0000
    got_added_members_cb: check if contact is already in the hash before adding it
    
    empathy_tp_contact_factory_get_from_handles is async, so if the contact has
    already been added when it returns the contact objects there is no point to
    try to re-add it twice.
 libempathy/empathy-tp-contact-list.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c
index 8b35f27..8cc1edc 100644
--- a/libempathy/empathy-tp-contact-list.c
+++ b/libempathy/empathy-tp-contact-list.c
@@ -397,6 +397,9 @@ got_added_members_cb (EmpathyTpContactFactory *factory,
 		EmpathyContact *contact = contacts[i];
 		TpHandle handle = empathy_contact_get_handle (contact);
 
+		if (g_hash_table_lookup (priv->members, GUINT_TO_POINTER (handle)))
+			continue;
+
 	/* Add to the list and emit signal */
 		g_hash_table_insert (priv->members, GUINT_TO_POINTER (handle),
 			     g_object_ref (contact));
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]