aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-06-20 15:36:52 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-06-21 04:09:17 +0200
commit6859815ec0500af6915d5bd65c11c0c2552b8de0 (patch)
tree8a667a4d9c4abca431513577a92fb4133ceaee4d /nx-X11
parenta60c22f454f21ccbc7831cacc0c1ec09f80db568 (diff)
downloadnx-libs-6859815ec0500af6915d5bd65c11c0c2552b8de0.tar.gz
nx-libs-6859815ec0500af6915d5bd65c11c0c2552b8de0.tar.bz2
nx-libs-6859815ec0500af6915d5bd65c11c0c2552b8de0.zip
Call pScreen->ConstrainCursorHarder from the position update path
Backported from X.org, maybe incomplete, inspired by: commit 810fbfa44626bff9f443ab17c0ad27ff7ae121d7 Author: Adam Jackson <ajax@redhat.com> Date: Wed Feb 9 17:32:16 2011 -0500 mi: Call pScreen->ConstrainCursorHarder from the position update path v2: Cover more paths, spotted by Daniel Stone. v3: pass down the mode field for movement mode. Reviewed-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Diffstat (limited to 'nx-X11')
-rw-r--r--nx-X11/programs/Xserver/mi/mipointer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/nx-X11/programs/Xserver/mi/mipointer.c b/nx-X11/programs/Xserver/mi/mipointer.c
index 5e086f2a1..0320a5930 100644
--- a/nx-X11/programs/Xserver/mi/mipointer.c
+++ b/nx-X11/programs/Xserver/mi/mipointer.c
@@ -46,6 +46,7 @@ in this Software without prior written authorization from The Open Group.
# include "mipointrst.h"
# include "cursorstr.h"
# include "dixstruct.h"
+# include <nx-X11/extensions/XI.h>
int miPointerScreenIndex;
static unsigned long miPointerGeneration = 0;
@@ -224,6 +225,10 @@ miPointerSetCursorPosition(pScreen, x, y, generateEvent)
SetupScreen (pScreen);
GenerateEvent = generateEvent;
+
+ if (pScreen->ConstrainCursorHarder)
+ pScreen->ConstrainCursorHarder(pScreen, Absolute, &x, &y);
+
/* device dependent - must pend signal and call miPointerWarpCursor */
(*pScreenPriv->screenFuncs->WarpCursor) (pScreen, x, y);
if (!generateEvent)