aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/events.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-02-24 08:18:51 +0100
committermarha <marha@users.sourceforge.net>2012-02-24 08:18:51 +0100
commit6f066fc9e28c33779b89e7e48e6437965dde9b77 (patch)
treeb2b9767762bd559d1edd808820cb65a4e3330397 /xorg-server/dix/events.c
parent1b73fdf9c9aa2330380300d204fb47f512cfb6e2 (diff)
parent5fb4fb602bde5140dcea45464e3b70a49078ad2e (diff)
downloadvcxsrv-6f066fc9e28c33779b89e7e48e6437965dde9b77.tar.gz
vcxsrv-6f066fc9e28c33779b89e7e48e6437965dde9b77.tar.bz2
vcxsrv-6f066fc9e28c33779b89e7e48e6437965dde9b77.zip
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'xorg-server/dix/events.c')
-rw-r--r--xorg-server/dix/events.c21
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