summaryrefslogtreecommitdiff
path: root/src/xfns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xfns.c')
-rw-r--r--src/xfns.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 2fe08e0a458..6a99dbf8e5b 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5278,6 +5278,16 @@ or directory must exist. ONLY-DIR-P is ignored." */)
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));
}