From 7005802eb6911d49b3ae45dc83ed3c1abee9a0ff Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 8 Oct 2006 06:43:31 +0000 Subject: [PATCH] call deactivate if activate fails SVN revision: 26411 --- src/bin/e_menu.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c index 2b055b02d..ad7de329b 100644 --- a/src/bin/e_menu.c +++ b/src/bin/e_menu.c @@ -181,6 +181,11 @@ e_menu_activate_key(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int dir _e_menu_activate_time = 0; _e_menu_activate_floating = 0; _e_menu_activate_internal(m, zone); + if (!m->zone) + { + e_menu_deactivate(m); + return; + } switch (dir) { case E_MENU_POP_DIRECTION_LEFT: @@ -245,6 +250,11 @@ e_menu_activate_mouse(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int d _e_menu_activate_time = activate_time; _e_menu_activate_floating = 0; _e_menu_activate_internal(m, zone); + if (!m->zone) + { + e_menu_deactivate(m); + return; + } switch (dir) { case E_MENU_POP_DIRECTION_LEFT: @@ -302,6 +312,11 @@ e_menu_activate(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int dir) _e_menu_activate_time = 0; _e_menu_activate_floating = 0; _e_menu_activate_internal(m, zone); + if (!m->zone) + { + e_menu_deactivate(m); + return; + } switch (dir) { case E_MENU_POP_DIRECTION_LEFT: @@ -1713,7 +1728,6 @@ _e_menu_activate_internal(E_Menu *m, E_Zone *zone) { ecore_x_window_del(_e_menu_win); _e_menu_win = 0; - m->zone = zone; return; } }