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);

-- 


Reply via email to