aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/events.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/dix/events.c')
-rw-r--r--xorg-server/dix/events.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c
index f15c46090..f9448ba76 100644
--- a/xorg-server/dix/events.c
+++ b/xorg-server/dix/events.c
@@ -1161,7 +1161,7 @@ EnqueueEvent(xEvent *xE, DeviceIntPtr device, int count)
#ifdef XKB
/* Fix for key repeating bug. */
if (device->key != NULL && device->key->xkbInfo != NULL &&
- xE->u.u.type == KeyRelease)
+ (xE->u.u.type == KeyRelease || xE->u.u.type == DeviceKeyRelease))
AccessXCancelRepeatKey(device->key->xkbInfo, xE->u.u.detail);
#endif
@@ -2661,8 +2661,8 @@ WindowsRestructured(void)
DeviceIntPtr pDev = inputInfo.devices;
while(pDev)
{
- if (DevHasCursor(pDev))
- CheckMotion((xEvent *)NULL, pDev);
+ if (pDev->isMaster || !pDev->u.master)
+ CheckMotion(NULL, pDev);
pDev = pDev->next;
}
}
@@ -4445,7 +4445,7 @@ ProcGrabPointer(ClientPtr client)
cursor = NullCursor;
else
{
- rc = dixLookupResource((pointer *)&cursor, stuff->cursor, RT_CURSOR,
+ rc = dixLookupResourceByType((pointer *)&cursor, stuff->cursor, RT_CURSOR,
client, DixUseAccess);
if (rc != Success)
{
@@ -4545,8 +4545,8 @@ ProcChangeActivePointerGrab(ClientPtr client)
newCursor = NullCursor;
else
{
- int rc = dixLookupResource((pointer *)&newCursor, stuff->cursor,
- RT_CURSOR, client, DixUseAccess);
+ int rc = dixLookupResourceByType((pointer *)&newCursor, stuff->cursor,
+ RT_CURSOR, client, DixUseAccess);
if (rc != Success)
{
client->errorValue = stuff->cursor;
@@ -5146,7 +5146,7 @@ ProcGrabButton(ClientPtr client)
cursor = NullCursor;
else
{
- rc = dixLookupResource((pointer *)&cursor, stuff->cursor, RT_CURSOR,
+ rc = dixLookupResourceByType((pointer *)&cursor, stuff->cursor, RT_CURSOR,
client, DixUseAccess);
if (rc != Success)
if (!cursor)
@@ -5396,7 +5396,7 @@ ProcRecolorCursor(ClientPtr client)
REQUEST(xRecolorCursorReq);
REQUEST_SIZE_MATCH(xRecolorCursorReq);
- rc = dixLookupResource((pointer *)&pCursor, stuff->cursor, RT_CURSOR,
+ rc = dixLookupResourceByType((pointer *)&pCursor, stuff->cursor, RT_CURSOR,
client, DixWriteAccess);
if (rc != Success)
{