aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 0543f152eda..fcc1f55ccb6 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -11014,7 +11014,19 @@ handle_one_xevent (struct x_display_info *dpyinfo,
11014 11014
11015 send_event.xclient.window = dpyinfo->root_window; 11015 send_event.xclient.window = dpyinfo->root_window;
11016 XSendEvent (dpyinfo->display, dpyinfo->root_window, False, 11016 XSendEvent (dpyinfo->display, dpyinfo->root_window, False,
11017 SubstructureRedirectMask | SubstructureNotifyMask, 11017 /* FIXME: handling window stacking changes
11018 during drag-and-drop requires Emacs to
11019 select for SubstructureNotifyMask,
11020 which in turn causes the message to be
11021 sent to Emacs itself using the event
11022 mask specified by the EWMH. To avoid
11023 an infinite loop, just use
11024 SubstructureRedirectMask when a
11025 drag-and-drop operation is in
11026 progress. */
11027 ((x_dnd_in_progress || x_dnd_waiting_for_finish)
11028 ? SubstructureRedirectMask
11029 : SubstructureRedirectMask | SubstructureNotifyMask),
11018 &send_event); 11030 &send_event);
11019 11031
11020 *finish = X_EVENT_DROP; 11032 *finish = X_EVENT_DROP;