diff --git a/dix/events.c b/dix/events.c index da7ca5ae9..863dba332 100644 --- a/dix/events.c +++ b/dix/events.c @@ -5013,7 +5013,6 @@ ProcGetInputFocus(ClientPtr client) int ProcGrabPointer(ClientPtr client) { - xGrabPointerReply rep; DeviceIntPtr device = PickPointer(client); GrabPtr grab; GrabMask mask; @@ -5053,13 +5052,17 @@ ProcGrabPointer(ClientPtr client) if (rc != Success) return rc; - rep = (xGrabPointerReply) { + xGrabPointerReply rep = { .type = X_Reply, .status = status, .sequenceNumber = client->sequence, .length = 0 }; - WriteReplyToClient(client, sizeof(xGrabPointerReply), &rep); + + if (client->swapped) { + swaps(&rep.sequenceNumber); + } + WriteToClient(client, sizeof(rep), &rep); return Success; } diff --git a/dix/tables.c b/dix/tables.c index 40179e851..f2e087f04 100644 --- a/dix/tables.c +++ b/dix/tables.c @@ -741,7 +741,7 @@ ReplySwapPtr ReplySwapVector[256] = { ReplyNotSwappd, ReplyNotSwappd, ReplyNotSwappd, /* 25 */ - (ReplySwapPtr) SGenericReply, /* SGrabPointerReply, */ + ReplyNotSwappd, ReplyNotSwappd, ReplyNotSwappd, ReplyNotSwappd,