diff options
author | marha <marha@users.sourceforge.net> | 2012-02-24 08:18:51 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-02-24 08:18:51 +0100 |
commit | 6f066fc9e28c33779b89e7e48e6437965dde9b77 (patch) | |
tree | b2b9767762bd559d1edd808820cb65a4e3330397 /xorg-server/dix | |
parent | 1b73fdf9c9aa2330380300d204fb47f512cfb6e2 (diff) | |
parent | 5fb4fb602bde5140dcea45464e3b70a49078ad2e (diff) | |
download | vcxsrv-6f066fc9e28c33779b89e7e48e6437965dde9b77.tar.gz vcxsrv-6f066fc9e28c33779b89e7e48e6437965dde9b77.tar.bz2 vcxsrv-6f066fc9e28c33779b89e7e48e6437965dde9b77.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'xorg-server/dix')
-rw-r--r-- | xorg-server/dix/events.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c index 781d27f36..d225546ca 100644 --- a/xorg-server/dix/events.c +++ b/xorg-server/dix/events.c @@ -3455,21 +3455,16 @@ XineramaWarpPointer(ClientPtr client) { WindowPtr dest = NULL; int x, y, rc; - DeviceIntPtr dev; - SpritePtr pSprite; + SpritePtr pSprite = PickPointer(client)->spriteInfo->sprite; REQUEST(xWarpPointerReq); + if (stuff->dstWid != None) { rc = dixLookupWindow(&dest, stuff->dstWid, client, DixReadAccess); if (rc != Success) return rc; } - - /* Post through the XTest device */ - dev = PickPointer(client); - dev = GetXTestDevice(dev); - pSprite = dev->spriteInfo->sprite; x = pSprite->hotPhys.x; y = pSprite->hotPhys.y; @@ -3519,9 +3514,9 @@ XineramaWarpPointer(ClientPtr client) else if (y >= pSprite->physLimits.y2) y = pSprite->physLimits.y2 - 1; if (pSprite->hotShape) - ConfineToShape(dev, pSprite->hotShape, &x, &y); + ConfineToShape(PickPointer(client), pSprite->hotShape, &x, &y); - XineramaSetCursorPosition(dev, x, y, TRUE); + XineramaSetCursorPosition(PickPointer(client), x, y, TRUE); return Success; } @@ -3539,7 +3534,7 @@ ProcWarpPointer(ClientPtr client) WindowPtr dest = NULL; int x, y, rc; ScreenPtr newScreen; - DeviceIntPtr dev, tmp, xtest_dev = NULL; + DeviceIntPtr dev, tmp; SpritePtr pSprite; REQUEST(xWarpPointerReq); @@ -3552,13 +3547,11 @@ ProcWarpPointer(ClientPtr client) rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixWriteAccess); if (rc != Success) return rc; - if (IsXTestDevice(tmp, dev)) - xtest_dev = tmp; } } - /* Use the XTest device to actually move the pointer */ - dev = xtest_dev; + if (dev->lastSlave) + dev = dev->lastSlave; pSprite = dev->spriteInfo->sprite; #ifdef PANORAMIX |