From: Po Lu Date: Tue, 12 Apr 2022 04:01:34 +0000 (+0800) Subject: * src/xterm.c (frame_set_mouse_pixel_position): Avoid server grab. X-Git-Tag: emacs-29.0.90~1931^2~644 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b15d9fcebbafc583906a5896dc73dacd0814544c;p=emacs.git * src/xterm.c (frame_set_mouse_pixel_position): Avoid server grab. --- diff --git a/src/xterm.c b/src/xterm.c index 342f2b044f9..b1d9ca7361b 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -20850,16 +20850,17 @@ frame_set_mouse_pixel_position (struct frame *f, int pix_x, int pix_y) if (FRAME_DISPLAY_INFO (f)->supports_xi2) { - XGrabServer (FRAME_X_DISPLAY (f)); - if (XIGetClientPointer (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), + if (XIGetClientPointer (FRAME_X_DISPLAY (f), + FRAME_X_WINDOW (f), &deviceid)) { + x_catch_errors (FRAME_X_DISPLAY (f)); XIWarpPointer (FRAME_X_DISPLAY (f), deviceid, None, FRAME_X_WINDOW (f), 0, 0, 0, 0, pix_x, pix_y); + x_uncatch_errors (); } - XUngrabServer (FRAME_X_DISPLAY (f)); } else #endif