diff options
author | Po Lu <luangruo@yahoo.com> | 2022-04-18 16:08:19 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-04-18 16:08:19 +0800 |
commit | 736fd8b258e5bbddf3e5260db1692d3e9ca4c81c (patch) | |
tree | 84495e509418cb8dd110873c4b36ea2bb3696e67 | |
parent | 96b21b8da10e4e31981e8a6874411ab184259fa4 (diff) | |
download | emacs-736fd8b258e5bbddf3e5260db1692d3e9ca4c81c.tar.gz emacs-736fd8b258e5bbddf3e5260db1692d3e9ca4c81c.tar.bz2 emacs-736fd8b258e5bbddf3e5260db1692d3e9ca4c81c.zip |
Stop skipping ShapeNotify events during DND on GTK+
* src/xterm.c (handle_one_xevent): Don't skip ShapeNotify events
because we can't send these events back to GDK manually.
-rw-r--r-- | src/xterm.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c index ef00e027f8e..99269e3e92b 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -18661,7 +18661,9 @@ handle_one_xevent (struct x_display_info *dpyinfo, && x_dnd_in_progress && x_dnd_use_toplevels && dpyinfo == FRAME_DISPLAY_INFO (x_dnd_frame)) { +#ifndef USE_GTK XEvent xevent; +#endif XShapeEvent *xse = (XShapeEvent *) event; #if defined HAVE_XCB_SHAPE && defined HAVE_XCB_SHAPE_INPUT_RECTS xcb_shape_get_rectangles_cookie_t bounding_rect_cookie; @@ -18678,6 +18680,10 @@ handle_one_xevent (struct x_display_info *dpyinfo, int rc, ordering; #endif + /* Somehow this really interferes with GTK's own processing + of ShapeNotify events. Not sure what GTK uses them for, + but we cannot skip any of them here. */ +#ifndef USE_GTK while (XPending (dpyinfo->display)) { XNextEvent (dpyinfo->display, &xevent); @@ -18691,6 +18697,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, break; } } +#endif for (struct x_client_list_window *tem = x_dnd_toplevels; tem; tem = tem->next) |