discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f4e460237b09754234d8f40182ece0fdbb04a4b2
commit f4e460237b09754234d8f40182ece0fdbb04a4b2 Author: Mike Blumenkrantz <[email protected]> Date: Mon Jun 16 13:06:41 2014 -0400 unify ibar menu hiding --- src/modules/ibar/e_mod_main.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index a287ee9..e0c9a2a 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -1102,6 +1102,14 @@ _ibar_cb_menu_configuration(void *data, E_Menu *m __UNUSED__, E_Menu_Item *mi __ } static void +_ibar_cb_icon_menu_hide_begin(IBar_Icon *ic) +{ + if (!ic->menu) return; + evas_object_pass_events_set(ic->menu->comp_object, 1); + edje_object_signal_emit(ic->menu->o_bg, "e,action,hide", "e"); +} + +static void _ibar_cb_icon_menu_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) { IBar_Icon *ic; @@ -1116,9 +1124,8 @@ _ibar_cb_icon_menu_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, v return; } e_client_activate(ec, 1); - if (!ic) return; - evas_object_pass_events_set(ic->menu->comp_object, 1); - edje_object_signal_emit(ic->menu->o_bg, "e,action,hide", "e"); + if (ic) + _ibar_cb_icon_menu_hide_begin(ic); } static void @@ -1133,11 +1140,7 @@ _ibar_cb_icon_menu_del(void *obj) static void _ibar_cb_icon_menu_autodel(void *data, Evas_Object *obj EINA_UNUSED) { - IBar_Icon *ic = data; - - if (!ic->menu) return; - evas_object_pass_events_set(ic->menu->comp_object, 1); - edje_object_signal_emit(ic->menu->o_bg, "e,action,hide", "e"); + _ibar_cb_icon_menu_hide_begin(data); } static void @@ -1212,8 +1215,7 @@ _ibar_cb_icon_menu_img_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EIN if ((!inst) || (!inst->clients)) { - evas_object_pass_events_set(ic->menu->o_bg, 1); - edje_object_signal_emit(ic->menu->o_bg, "e,action,hide", "e"); + _ibar_cb_icon_menu_hide_begin(ic); return; } } @@ -1408,9 +1410,7 @@ _ibar_icon_menu_hide(IBar_Icon *ic, Eina_Bool grab) ic->ibar->menu_icon = NULL; E_FREE_FUNC(ic->hide_timer, ecore_timer_del); ic->menu_grabbed = EINA_FALSE; - evas_object_pass_events_set(ic->menu->comp_object, 1); - edje_object_signal_emit(ic->menu->o_bg, "e,action,hide", "e"); - + _ibar_cb_icon_menu_hide_begin(ic); } static Eina_Bool --
