From b2ef5f76b1de8d97fd0696b6e467b7ff2e1f9c07 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 14 Aug 2012 12:22:12 +0000 Subject: [PATCH] avoid emitting shelf signals and toggling visibility constantly when shelf is already visible SVN revision: 75253 --- src/bin/e_shelf.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index 5f66d1713..c3cf936c9 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -1611,8 +1611,11 @@ _e_shelf_cb_mouse_in(void *data, int type, void *event) if (!es->popup) return ECORE_CALLBACK_PASS_ON; if (ev->win == es->popup->evas_win) { - edje_object_signal_emit(es->o_base, "e,state,focused", "e"); - e_shelf_toggle(es, 1); + if (es->hidden || (!es->toggle)) + { + edje_object_signal_emit(es->o_base, "e,state,focused", "e"); + e_shelf_toggle(es, 1); + } } } else if (type == ECORE_EVENT_MOUSE_MOVE) @@ -1623,8 +1626,11 @@ _e_shelf_cb_mouse_in(void *data, int type, void *event) if (!es->popup) return ECORE_CALLBACK_PASS_ON; if (ev->event_window == es->popup->evas_win) { - edje_object_signal_emit(es->o_base, "e,state,focused", "e"); - e_shelf_toggle(es, 1); + if (es->hidden || (!es->toggle)) + { + edje_object_signal_emit(es->o_base, "e,state,focused", "e"); + e_shelf_toggle(es, 1); + } } } return ECORE_CALLBACK_PASS_ON;