From 175dbe36613e1d9d36337ac558401e0686495d68 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Thu, 25 Sep 2025 15:51:57 +0200 Subject: [PATCH] Xi: inline SProcXIQueryDevice() Signed-off-by: Enrico Weigelt, metux IT consult --- Xi/extinit.c | 2 +- Xi/handlers.h | 1 - Xi/xiquerydevice.c | 19 ++++++------------- test/xi2/protocol-xiquerydevice.c | 2 +- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/Xi/extinit.c b/Xi/extinit.c index 3899ace507..7c83d9104e 100644 --- a/Xi/extinit.c +++ b/Xi/extinit.c @@ -448,7 +448,7 @@ SProcIDispatch(ClientPtr client) case X_XIQueryVersion: return SProcXIQueryVersion(client); case X_XIQueryDevice: - return SProcXIQueryDevice(client); + return ProcXIQueryDevice(client); case X_XISetFocus: return ProcXISetFocus(client); case X_XIGetFocus: diff --git a/Xi/handlers.h b/Xi/handlers.h index 8a5ea8790c..53d24a8308 100644 --- a/Xi/handlers.h +++ b/Xi/handlers.h @@ -80,7 +80,6 @@ int SProcXIGetClientPointer(ClientPtr client); int SProcXIGetSelectedEvents(ClientPtr client); int SProcXIPassiveGrabDevice(ClientPtr client); int SProcXIPassiveUngrabDevice(ClientPtr client); -int SProcXIQueryDevice(ClientPtr client); int SProcXIQueryPointer(ClientPtr client); int SProcXIQueryVersion(ClientPtr client); int SProcXISelectEvents(ClientPtr client); diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c index f0302dbf0a..12a78350d1 100644 --- a/Xi/xiquerydevice.c +++ b/Xi/xiquerydevice.c @@ -57,29 +57,22 @@ static int ListDeviceInfo(ClientPtr client, DeviceIntPtr dev, xXIDeviceInfo * info); static int SizeDeviceInfo(DeviceIntPtr dev); static void SwapDeviceInfo(DeviceIntPtr dev, xXIDeviceInfo * info); -int _X_COLD -SProcXIQueryDevice(ClientPtr client) -{ - REQUEST(xXIQueryDeviceReq); - REQUEST_SIZE_MATCH(xXIQueryDeviceReq); - - swaps(&stuff->deviceid); - - return ProcXIQueryDevice(client); -} int ProcXIQueryDevice(ClientPtr client) { + REQUEST(xXIQueryDeviceReq); + REQUEST_SIZE_MATCH(xXIQueryDeviceReq); + + if (client->swapped) + swaps(&stuff->deviceid); + DeviceIntPtr dev = NULL; int rc = Success; int i = 0, len = 0; char *info; Bool *skip = NULL; - REQUEST(xXIQueryDeviceReq); - REQUEST_SIZE_MATCH(xXIQueryDeviceReq); - if (stuff->deviceid != XIAllDevices && stuff->deviceid != XIAllMasterDevices) { rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess); diff --git a/test/xi2/protocol-xiquerydevice.c b/test/xi2/protocol-xiquerydevice.c index 01c2984a90..97a5440423 100644 --- a/test/xi2/protocol-xiquerydevice.c +++ b/test/xi2/protocol-xiquerydevice.c @@ -307,7 +307,7 @@ request_XIQueryDevice(struct test_data *querydata, int deviceid, int error) client.swapped = TRUE; swaps(&request.length); swaps(&request.deviceid); - rc = SProcXIQueryDevice(&client); + rc = ProcXIQueryDevice(&client); assert(rc == error); if (rc != Success)