raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=6a1c47a23c90feb4c1ac34441effdd4903508dbb

commit 6a1c47a23c90feb4c1ac34441effdd4903508dbb
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue Jul 1 17:13:42 2014 +0900

    fix ibar focus tracking bug with deleted objects (ERR complaints)
---
 src/modules/ibar/e_mod_main.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 65c47cd..8c92e53 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -1295,6 +1295,13 @@ _ibar_icon_menu_mouse_out(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EINA
      ic->hide_timer = ecore_timer_add(0.5, _ibar_cb_out_hide_delay, ic);
 }
 
+static void
+_ibar_cb_icon_frame_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, 
void *event_info EINA_UNUSED)
+{
+   e_comp_object_signal_callback_del_full(data, "e,state,*focused", "e", 
_ibar_cb_icon_menu_focus_change, obj);
+   evas_object_smart_callback_del_full(data, "desk_change", 
_ibar_cb_icon_menu_desk_change, obj);
+}
+
 static Eina_Bool
 _ibar_icon_menu_client_add(IBar_Icon *ic, E_Client *ec)
 {
@@ -1311,6 +1318,8 @@ _ibar_icon_menu_client_add(IBar_Icon *ic, E_Client *ec)
    img = e_comp_object_util_mirror_add(ec->frame);
    e_comp_object_signal_callback_add(ec->frame, "e,state,*focused", "e", 
_ibar_cb_icon_menu_focus_change, it);
    evas_object_smart_callback_add(ec->frame, "desk_change", 
_ibar_cb_icon_menu_desk_change, it);
+   evas_object_event_callback_add(it, EVAS_CALLBACK_DEL,
+                                  _ibar_cb_icon_frame_del, ec->frame);
    evas_object_event_callback_add(img, EVAS_CALLBACK_DEL,
                                   _ibar_cb_icon_menu_img_del, it);
    txt = e_client_util_name_get(ec);

-- 


Reply via email to