cedric pushed a commit to branch enlightenment-0.17. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ea409b235ee9cc59564ee16addddb3a3ae80128a
commit ea409b235ee9cc59564ee16addddb3a3ae80128a Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> Date: Tue May 28 21:03:07 2013 +0900 fix efm segv on single click due to out callbacks being called while deleting objects etc. --- src/bin/e_fm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 8e280f5..7381966 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -3422,7 +3422,6 @@ _e_fm2_file_del(Evas_Object *obj, const char *file) ic->region = NULL; } _e_fm2_icon_free(ic); - printf("b: %i\n", eina_list_count(sd->icons)); return; } } @@ -4918,6 +4917,11 @@ _e_fm2_icon_unrealize(E_Fm2_Icon *ic) ic->realized = EINA_FALSE; evas_object_del(ic->obj); ic->obj = NULL; + evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_DOWN, _e_fm2_cb_icon_mouse_down, ic); + evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_UP, _e_fm2_cb_icon_mouse_up, ic); + evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_MOVE, _e_fm2_cb_icon_mouse_move, ic); + evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_IN, _e_fm2_cb_icon_mouse_in, ic); + evas_object_event_callback_del_full(ic->rect, EVAS_CALLBACK_MOUSE_OUT, _e_fm2_cb_icon_mouse_out, ic); evas_object_del(ic->rect); ic->rect = NULL; evas_object_del(ic->obj_icon); --