From f5890c208febe47851879303f1f600d2d3e6de05 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Thu, 3 Apr 2025 16:33:47 +0200 Subject: [PATCH] dix: write out xGetPointerControlReply directly --- dix/devices.c | 12 +++++++++--- dix/swaprep.c | 11 ----------- dix/tables.c | 2 +- include/swaprep.h | 5 ----- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/dix/devices.c b/dix/devices.c index cbbd4f9bc..f55b60afa 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -2428,7 +2428,6 @@ ProcGetPointerControl(ClientPtr client) { DeviceIntPtr ptr = PickPointer(client); PtrCtrl *ctrl; - xGetPointerControlReply rep; int rc; if (ptr->ptrfeed) @@ -2442,7 +2441,7 @@ ProcGetPointerControl(ClientPtr client) if (rc != Success) return rc; - rep = (xGetPointerControlReply) { + xGetPointerControlReply rep = { .type = X_Reply, .sequenceNumber = client->sequence, .length = 0, @@ -2450,7 +2449,14 @@ ProcGetPointerControl(ClientPtr client) .accelDenominator = ctrl->den, .threshold = ctrl->threshold }; - WriteReplyToClient(client, sizeof(xGenericReply), &rep); + + if (client->swapped) { + swaps(&rep.sequenceNumber); + swaps(&rep.accelNumerator); + swaps(&rep.accelDenominator); + swaps(&rep.threshold); + } + WriteToClient(client, sizeof(rep), &rep); return Success; } diff --git a/dix/swaprep.c b/dix/swaprep.c index e66a2d9f6..0b0b11a21 100644 --- a/dix/swaprep.c +++ b/dix/swaprep.c @@ -535,17 +535,6 @@ SListExtensionsReply(ClientPtr pClient, int size, xListExtensionsReply * pRep) WriteToClient(pClient, size, pRep); } -void _X_COLD -SGetPointerControlReply(ClientPtr pClient, int size, - xGetPointerControlReply * pRep) -{ - swaps(&pRep->sequenceNumber); - swaps(&pRep->accelNumerator); - swaps(&pRep->accelDenominator); - swaps(&pRep->threshold); - WriteToClient(pClient, size, pRep); -} - void _X_COLD SGetScreenSaverReply(ClientPtr pClient, int size, xGetScreenSaverReply * pRep) { diff --git a/dix/tables.c b/dix/tables.c index 8e43047e0..2de8f2e6d 100644 --- a/dix/tables.c +++ b/dix/tables.c @@ -822,7 +822,7 @@ ReplySwapPtr ReplySwapVector[256] = { ReplyNotSwappd, ReplyNotSwappd, ReplyNotSwappd, /* 105 */ - (ReplySwapPtr) SGetPointerControlReply, + ReplyNotSwappd, ReplyNotSwappd, (ReplySwapPtr) SGetScreenSaverReply, ReplyNotSwappd, diff --git a/include/swaprep.h b/include/swaprep.h index 692a80b91..7d4e8597f 100644 --- a/include/swaprep.h +++ b/include/swaprep.h @@ -154,11 +154,6 @@ extern void SListExtensionsReply(ClientPtr /* pClient */ , int /* size */ , xListExtensionsReply * /* pRep */ ); -extern void SGetPointerControlReply(ClientPtr /* pClient */ , - int /* size */ , - xGetPointerControlReply * - /* pRep */ ); - extern void SGetScreenSaverReply(ClientPtr /* pClient */ , int /* size */ , xGetScreenSaverReply * /* pRep */ );