From a1021558894454565ae61854739d1defa24a5512 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 14 Jan 2015 14:41:50 -0500 Subject: [PATCH] Revert "genlist: fix a crash when deleting a item in selected callback." This reverts commit c80b24baf815e35c160bf0dbe8ecae6ea247aef8. this broke the selection callback completely and makes every genlist app unusable. please, please, please, please, I'm seriously begging you hermet, do ANY amount of testing before making further genlist commits. --- legacy/elementary/src/lib/elm_genlist.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index 81d6246abb..a4ebbf89b2 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -5669,6 +5669,9 @@ _item_select(Elm_Gen_Item *it) eina_list_append(sd->selected, eo_it); } + evas_object_ref(obj); + if (it->func.func) it->func.func((void *)it->func.data, WIDGET(it), eo_it); + evas_object_smart_callback_call(WIDGET(it), SIG_SELECTED, eo_it); elm_object_item_focus_set(eo_it, EINA_TRUE); _elm_genlist_item_content_focus_set(it, ELM_FOCUS_PREVIOUS); @@ -5689,12 +5692,6 @@ _item_select(Elm_Gen_Item *it) } } - evas_object_ref(obj); - - if (it->func.func) it->func.func((void *)it->func.data, WIDGET(it), eo_it); - if (EINA_MAGIC_CHECK((Elm_Widget_Item_Data *)it, ELM_WIDGET_ITEM_MAGIC)) - evas_object_smart_callback_call(WIDGET(it), SIG_SELECTED, eo_it); - evas_object_unref(obj); }