diff src/xfns.c @ 59102:0096c58ce34a

* xmenu.c (popup_get_selection): Pop down on C-g. (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that pops down menu on C-g. (xdialog_show): If dialog popped down and no button in the dialog was pushed, call Fsignal to quit. (xmenu_show): In no toolkit version, if menu returns NO_SELECT call Fsignal to quit. * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g. * gtkutil.c (xg_initialize): Install bindings for C-g so that dialogs and menus pop down.
author Jan Djärv <jan.h.d@swipnet.se>
date Mon, 27 Dec 2004 15:24:12 +0000
parents 86fddd350b35
children 97d17acaf4e7 223c12363c0c 95879cc1ed20
line wrap: on
line diff
--- a/src/xfns.c	Mon Dec 27 15:23:22 2004 +0000
+++ b/src/xfns.c	Mon Dec 27 15:24:12 2004 +0000
@@ -5243,6 +5243,16 @@
       XEvent event;
       x_menu_wait_for_event (0);
       XtAppNextEvent (Xt_app_con, &event);
+      if (event.type == KeyPress
+          && FRAME_X_DISPLAY (f) == event.xkey.display)
+        {
+          KeySym keysym = XLookupKeysym (&event.xkey, 0);
+
+          /* Pop down on C-g.  */
+          if (keysym == XK_g && (event.xkey.state & ControlMask) != 0)
+            XtUnmanageChild (dialog);
+        }
+  
       (void) x_dispatch_event (&event, FRAME_X_DISPLAY (f));
     }