diff --git a/dix/events.c b/dix/events.c index 9a2ab0078..42e882a2f 100644 --- a/dix/events.c +++ b/dix/events.c @@ -4979,7 +4979,6 @@ ProcGetInputFocus(ClientPtr client) int ProcGrabPointer(ClientPtr client) { - xGrabPointerReply rep; DeviceIntPtr device = PickPointer(client); GrabPtr grab; GrabMask mask; @@ -5019,13 +5018,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 efea4393a..cc80f83c4 100644 --- a/dix/tables.c +++ b/dix/tables.c @@ -738,7 +738,7 @@ ReplySwapPtr ReplySwapVector[256] = { ReplyNotSwappd, ReplyNotSwappd, ReplyNotSwappd, /* 25 */ - (ReplySwapPtr) SGenericReply, /* SGrabPointerReply, */ + ReplyNotSwappd, ReplyNotSwappd, ReplyNotSwappd, ReplyNotSwappd,