dix: fix XACE checks in ProcWarpPointer
This commit is contained in:
parent
18430616cf
commit
de415743f4
10
dix/events.c
10
dix/events.c
|
@ -3044,22 +3044,22 @@ ProcWarpPointer(ClientPtr client)
|
||||||
WindowPtr dest = NULL;
|
WindowPtr dest = NULL;
|
||||||
int x, y, rc;
|
int x, y, rc;
|
||||||
ScreenPtr newScreen;
|
ScreenPtr newScreen;
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev, tmp;
|
||||||
SpritePtr pSprite;
|
SpritePtr pSprite;
|
||||||
|
|
||||||
REQUEST(xWarpPointerReq);
|
REQUEST(xWarpPointerReq);
|
||||||
REQUEST_SIZE_MATCH(xWarpPointerReq);
|
REQUEST_SIZE_MATCH(xWarpPointerReq);
|
||||||
|
|
||||||
/* XXX XACE ??*/
|
dev = PickPointer(client);
|
||||||
for (dev = inputInfo.devices; dev; dev = dev->next) {
|
|
||||||
if ((dev->coreEvents || dev == inputInfo.pointer) && dev->button) {
|
for (tmp = inputInfo.devices; tmp; tmp = tmp->next) {
|
||||||
|
if ((tmp == dev) || (!tmp->isMaster && tmp->u.master == dev)) {
|
||||||
rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixWriteAccess);
|
rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixWriteAccess);
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = PickPointer(client);
|
|
||||||
if (dev->u.lastSlave)
|
if (dev->u.lastSlave)
|
||||||
dev = dev->u.lastSlave;
|
dev = dev->u.lastSlave;
|
||||||
pSprite = dev->spriteInfo->sprite;
|
pSprite = dev->spriteInfo->sprite;
|
||||||
|
|
Loading…
Reference in New Issue