aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/events.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2009-11-17 15:45:56 +0000
committermarha <marha@users.sourceforge.net>2009-11-17 15:45:56 +0000
commit236c69d6034b152598ce35abaf3559b0eaa89c12 (patch)
tree108fa85f42399f267ebe0e9db18358a1a2ceeb96 /xorg-server/dix/events.c
parentcf02d70cb00b60ed55d569a7e45d50181c90504d (diff)
downloadvcxsrv-236c69d6034b152598ce35abaf3559b0eaa89c12.tar.gz
vcxsrv-236c69d6034b152598ce35abaf3559b0eaa89c12.tar.bz2
vcxsrv-236c69d6034b152598ce35abaf3559b0eaa89c12.zip
Solved endless loop problem when moving the cursor between 2 screens together with +xinerama.
(The problem was worse when screen 1 was left to screen 0)
Diffstat (limited to 'xorg-server/dix/events.c')
-rw-r--r--xorg-server/dix/events.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c
index d070a4c6f..8f26bd618 100644
--- a/xorg-server/dix/events.c
+++ b/xorg-server/dix/events.c
@@ -779,7 +779,10 @@ CheckPhysLimits(
{
#ifdef PANORAMIX
if (!noPanoramiXExtension)
- XineramaSetCursorPosition (pDev, new.x, new.y, generateEvents);
+ {
+ if (pScreen && ((new.x != pSprite->hotPhys.x) || (new.y != pSprite->hotPhys.y)))
+ XineramaSetCursorPosition (pDev, new.x, new.y, generateEvents);
+ }
else
#endif
{