diff src/xmenu.c @ 59155:6690f246cffe

* xmenu.c (popup_get_selection): Only pop down dialogs on C-g and Escape.
author Jan Djärv <jan.h.d@swipnet.se>
date Mon, 27 Dec 2004 20:34:03 +0000
parents d264cb5b989f
children 03a6e350cf4d
line wrap: on
line diff
--- a/src/xmenu.c	Mon Dec 27 20:16:58 2004 +0000
+++ b/src/xmenu.c	Mon Dec 27 20:34:03 2004 +0000
@@ -1232,25 +1232,16 @@
           event.xbutton.state = 0;
 #endif
         }
-      /* If the user presses a key that doesn't go to the menu,
-         deactivate the menu.
-         The user is likely to do that if we get wedged.
-         All toolkits now pop down menus on ESC.
-         For dialogs however, the focus may not be on the dialog, so
-         in that case, we pop down. */
+      /* Pop down on C-g and Escape.  */
       else if (event.type == KeyPress
                && down_on_keypress
                && dpyinfo->display == event.xbutton.display)
         {
           KeySym keysym = XLookupKeysym (&event.xkey, 0);
 
-          /* Pop down on C-g.  */
-          if (keysym == XK_g && (event.xkey.state & ControlMask) != 0)
+          if ((keysym == XK_g && (event.xkey.state & ControlMask) != 0)
+              || keysym == XK_Escape) /* Any escape, ignore modifiers.  */
             popup_activated_flag = 0;
-
-          if (!IsModifierKey (keysym)
-              && x_any_window_to_frame (dpyinfo, event.xany.window) != NULL)
-	    popup_activated_flag = 0;
         }
 
       x_dispatch_event (&event, event.xany.display);