From 1771bc9932db7343e284d38507b7d639feafd750 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Thu, 21 Sep 2000 07:18:26 +0000 Subject: Made e_list a bit more reentrant. If a iterator gets its data pulled out 2000-09-18 Christopher James Lahey * e-list-iterator.c, e-list.c, e-list.h: Made e_list a bit more reentrant. If a iterator gets its data pulled out from under it while in a loop, it goes back one so that loops will be able to continue. svn path=/trunk/; revision=5533 --- e-util/e-list-iterator.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'e-util/e-list-iterator.c') diff --git a/e-util/e-list-iterator.c b/e-util/e-list-iterator.c index 51480447b4..360e37ca40 100644 --- a/e-util/e-list-iterator.c +++ b/e-util/e-list-iterator.c @@ -208,12 +208,7 @@ e_list_iterator_delete (EIterator *_iterator) { EListIterator *iterator = E_LIST_ITERATOR(_iterator); if (iterator->iterator) { - GList *temp = iterator->iterator->next; - if (iterator->list->free) - iterator->list->free(iterator->iterator->data, iterator->list->closure); - iterator->list->list = g_list_remove_link(iterator->list->list, iterator->iterator); - iterator->iterator = temp; - e_list_invalidate_iterators(iterator->list, E_ITERATOR(iterator)); + e_list_remove_link (iterator->list, iterator->iterator); } } -- cgit v1.2.3