From 3c9f7d712c928c05fd82773bcba038d5e7118d07 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Wed, 11 Mar 2009 15:12:33 +0000 Subject: [PATCH] * e_ilist.c: Reduce list walk. SVN revision: 39446 --- src/bin/e_ilist.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bin/e_ilist.c b/src/bin/e_ilist.c index e9c0873cc..f4345c9ae 100644 --- a/src/bin/e_ilist.c +++ b/src/bin/e_ilist.c @@ -596,11 +596,16 @@ EAPI void e_ilist_remove_num(Evas_Object *obj, int n) { E_Ilist_Item *si = NULL; + Eina_List *item; API_ENTRY return; if (!sd->items) return; - if (!(si = eina_list_nth(sd->items, n))) return; - sd->items = eina_list_remove(sd->items, si); + item = eina_list_nth_list(sd->items, n); + if (!item) return; + si = eina_list_data_get(item); + if (!si) return; + sd->items = eina_list_remove_list(sd->items, item); + if (sd->selected == n) sd->selected = -1; if (si->o_icon) evas_object_del(si->o_icon); evas_object_del(si->o_base);