[Telepathy-commits] [telepathy-gabble/master] vcard-manager: cache_entry_complete_requests: copy the pending_requests list and iterate on it
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Tue Aug 19 10:54:13 PDT 2008
20080731104032-7fe3f-ee3f7a869a6500421f770013cbd2c76303ec759a.gz
---
src/vcard-manager.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/vcard-manager.c b/src/vcard-manager.c
index 75d2770..76d40be 100644
--- a/src/vcard-manager.c
+++ b/src/vcard-manager.c
@@ -451,18 +451,18 @@ static void complete_one_request (GabbleVCardManagerRequest *request,
static void
cache_entry_complete_requests (GabbleVCardCacheEntry *entry, GError *error)
{
- GSList *cur;
+ GSList *cur, *tmp;
- cur = entry->pending_requests;
- while (cur != NULL)
+ tmp = g_slist_copy (entry->pending_requests);
+
+ for (cur = tmp; cur != NULL; cur = cur->next)
{
GabbleVCardManagerRequest *request = cur->data;
- /* advance cur before we complete the request, as it can free the entry */
- cur = g_slist_next (cur);
-
complete_one_request (request, error ? NULL : entry->vcard_node, error);
}
+
+ g_slist_free (tmp);
}
static void
--
1.5.6.3
More information about the Telepathy-commits
mailing list