diff options
Diffstat (limited to 'src/xfns.c')
| -rw-r--r-- | src/xfns.c | 19 |
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 |