aboutsummaryrefslogtreecommitdiffstats
path: root/src/xfns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xfns.c')
-rw-r--r--src/xfns.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 2845ecca6a9..6ed93ee42ca 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -6851,17 +6851,16 @@ The coordinates X and Y are interpreted in pixels relative to a position
6851#ifdef HAVE_XINPUT2 6851#ifdef HAVE_XINPUT2
6852 int deviceid; 6852 int deviceid;
6853 6853
6854 if (FRAME_DISPLAY_INFO (f)->supports_xi2) 6854 deviceid = FRAME_DISPLAY_INFO (f)->client_pointer_device;
6855
6856 if (FRAME_DISPLAY_INFO (f)->supports_xi2
6857 && deviceid != -1)
6855 { 6858 {
6856 XGrabServer (FRAME_X_DISPLAY (f)); 6859 x_catch_errors_for_lisp (FRAME_DISPLAY_INFO (f));
6857 if (XIGetClientPointer (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), 6860 XIWarpPointer (FRAME_X_DISPLAY (f), deviceid, None,
6858 &deviceid)) 6861 FRAME_DISPLAY_INFO (f)->root_window,
6859 { 6862 0, 0, 0, 0, xval, yval);
6860 XIWarpPointer (FRAME_X_DISPLAY (f), deviceid, None, 6863 x_uncatch_errors_for_lisp (FRAME_DISPLAY_INFO (f));
6861 FRAME_DISPLAY_INFO (f)->root_window,
6862 0, 0, 0, 0, xval, yval);
6863 }
6864 XUngrabServer (FRAME_X_DISPLAY (f));
6865 } 6864 }
6866 else 6865 else
6867#endif 6866#endif