diff --git a/src/modules/everything/e_mod_main.h b/src/modules/everything/e_mod_main.h index e36099aec..47fd345b0 100644 --- a/src/modules/everything/e_mod_main.h +++ b/src/modules/everything/e_mod_main.h @@ -81,6 +81,7 @@ struct _Evry_Selector Evas_Object *o_icon; Evas_Object *o_thumb; + Evas_Object *event_object; Eina_Bool do_thumb; Ecore_Timer *update_timer; diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c index 5f7a2b6ae..543f19f2a 100644 --- a/src/modules/everything/evry.c +++ b/src/modules/everything/evry.c @@ -1135,8 +1135,9 @@ _evry_selector_new(Evry_Window *win, int type) sel->edje_part = "object_selector"; } - if ((o = edje_object_part_swallow_get(win->o_main, sel->edje_part))) + if ((o = edje_object_part_object_get(win->o_main, sel->edje_part))) { + sel->event_object = o; evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _evry_selector_cb_down, sel); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, @@ -1162,15 +1163,14 @@ static void _evry_selector_free(Evry_Selector *sel) { Evry_Window *win = sel->win; - Evas_Object *o; - if ((o = edje_object_part_swallow_get(win->o_main, sel->edje_part))) + if (sel->event_object) { - evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_DOWN, + evas_object_event_callback_del_full(sel->event_object, EVAS_CALLBACK_MOUSE_DOWN, _evry_selector_cb_down, sel); - evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_UP, + evas_object_event_callback_del_full(sel->event_object, EVAS_CALLBACK_MOUSE_UP, _evry_selector_cb_up, sel); - evas_object_event_callback_del_full(o, EVAS_CALLBACK_MOUSE_WHEEL, + evas_object_event_callback_del_full(sel->event_object, EVAS_CALLBACK_MOUSE_WHEEL, _evry_selector_cb_wheel, sel); }