emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master b15d9fcebb: * src/xterm.c (frame_set_mouse_pixel_position): Avoid


From: Po Lu
Subject: master b15d9fcebb: * src/xterm.c (frame_set_mouse_pixel_position): Avoid server grab.
Date: Tue, 12 Apr 2022 00:01:58 -0400 (EDT)

branch: master
commit b15d9fcebbafc583906a5896dc73dacd0814544c
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    * src/xterm.c (frame_set_mouse_pixel_position): Avoid server grab.
---
 src/xterm.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/xterm.c b/src/xterm.c
index 342f2b044f..b1d9ca7361 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]