aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-individual-manager.c6
-rw-r--r--libempathy/empathy-utils.c15
2 files changed, 11 insertions, 10 deletions
diff --git a/libempathy/empathy-individual-manager.c b/libempathy/empathy-individual-manager.c
index 00e685c68..69e62f1a7 100644
--- a/libempathy/empathy-individual-manager.c
+++ b/libempathy/empathy-individual-manager.c
@@ -388,7 +388,8 @@ empathy_individual_manager_add_from_contact (EmpathyIndividualManager *self,
FolksBackendStore *backend_store;
FolksBackend *backend;
FolksPersonaStore *persona_store;
- GHashTable* details, *persona_stores;
+ GHashTable* details;
+ GeeMap *persona_stores;
TpAccount *account;
const gchar *store_id;
@@ -420,7 +421,7 @@ empathy_individual_manager_add_from_contact (EmpathyIndividualManager *self,
}
persona_stores = folks_backend_get_persona_stores (backend);
- persona_store = g_hash_table_lookup (persona_stores, store_id);
+ persona_store = gee_map_get (persona_stores, store_id);
if (persona_store == NULL)
{
@@ -438,6 +439,7 @@ empathy_individual_manager_add_from_contact (EmpathyIndividualManager *self,
aggregator_add_persona_from_details_cb, contact);
g_hash_table_destroy (details);
+ g_object_unref (persona_store);
finish:
tp_clear_object (&backend);
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c
index bdec98833..4d6506b6e 100644
--- a/libempathy/empathy-utils.c
+++ b/libempathy/empathy-utils.c
@@ -858,14 +858,14 @@ empathy_dup_persona_store_for_connection (TpConnection *connection)
"telepathy");
if (backend != NULL)
{
- GHashTable *stores_hash;
- GList *stores, *l;
+ GeeMap *stores_map;
+ GeeMapIterator *iter;
- stores_hash = folks_backend_get_persona_stores (backend);
- stores = g_hash_table_get_values (stores_hash);
- for (l = stores; l != NULL && result == NULL; l = l->next)
+ stores_map = folks_backend_get_persona_stores (backend);
+ iter = gee_map_map_iterator (stores_map);
+ while (gee_map_iterator_next (iter))
{
- TpfPersonaStore *persona_store = TPF_PERSONA_STORE (l->data);
+ TpfPersonaStore *persona_store = gee_map_iterator_get_value (iter);
TpAccount *account;
TpConnection *conn_cur;
@@ -874,8 +874,7 @@ empathy_dup_persona_store_for_connection (TpConnection *connection)
if (conn_cur == connection)
result = persona_store;
}
-
- g_list_free (stores);
+ g_clear_object (&iter);
}
g_object_unref (backend);