}
if (new_handles->len == 0) {
+ g_array_free (new_handles, TRUE);
return contacts;
}
contact = GOSSIP_CONTACT (l->data);
contact_groups = gossip_contact_get_groups (contact);
+ /* FIXME: this leaks */
if (!g_list_find_custom (contact_groups,
group_name,
(GCompareFunc) strcmp)) {
n_avatar_requests--;
tp_contact_list_start_avatar_requests (data->list);
+ g_object_unref (contact);
g_slice_free (TpContactListAvatarRequestData, data);
}
tp_contact_list_block_contact (list, contact);
gossip_contact_set_name (contact, alias);
tp_contact_list_unblock_contact (list, contact);
+ g_object_unref (contact);
gossip_debug (DEBUG_DOMAIN, "contact %d renamed to %s (update cb)",
handle, alias);
tp_contact_list_block_contact (data->list, contact);
gossip_contact_set_name (contact, *name);
tp_contact_list_unblock_contact (data->list, contact);
+ g_object_unref (contact);
gossip_debug (DEBUG_DOMAIN, "contact %d renamed to %s (request cb)",
data->handles[i], *name);
tp_contact_list_block_contact (list, contact);
gossip_contact_set_presence (contact, presence);
tp_contact_list_unblock_contact (list, contact);
+
+ g_object_unref (contact);
}
static void