From 0b6b75939eea51c83205989174f1fd403894c85f Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 7 May 2014 11:54:34 -0400 Subject: [PATCH] hide ibar menu if no clients exist for lone exe instance --- src/modules/ibar/e_mod_main.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index 5e1b7bc61..4653d36e5 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -1196,11 +1196,16 @@ _ibar_cb_icon_menu_img_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EIN if (!ic->menu) return; //who knows edje_object_part_box_remove(ic->menu->o_bg, "e.box", data); evas_object_del(data); - if (eina_list_count(ic->exes) < 1) + if (eina_list_count(ic->exes) <= 1) { - evas_object_pass_events_set(ic->menu->o_bg, 1); - edje_object_signal_emit(ic->menu->o_bg, "e,action,hide", "e"); - return; + E_Exec_Instance *inst = eina_list_data_get(ic->exes); + + 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"); + return; + } } edje_object_calc_force(ic->menu->o_bg); edje_object_size_min_calc(ic->menu->o_bg, &w, &h);