raster pushed a commit to branch master.

commit 317968efa8e4ea1efb2d1757b60046c0f67920c0
Author: Carsten Haitzler (Rasterman) <[email protected]>
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 6125947..95d125c 100644
--- a/src/bin/e_fm.c
+++ b/src/bin/e_fm.c
@@ -3441,7 +3441,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;
           }
      }
@@ -4905,6 +4904,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);

-- 

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may

Reply via email to