From 2e64ce88ea759228695aab9b0eb88514dd4663a4 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Wed, 17 Sep 2025 12:25:35 +0200 Subject: [PATCH] Xi: inline SProcXSelectExtensionEvent() No need to have a hole bunch of extra functions, if we can just easily inline the few relevant lines. Signed-off-by: Enrico Weigelt, metux IT consult --- Xi/extinit.c | 2 +- Xi/handlers.h | 1 - Xi/selectev.c | 39 +++++++++++++-------------------------- 3 files changed, 14 insertions(+), 28 deletions(-) diff --git a/Xi/extinit.c b/Xi/extinit.c index ce520794a..e37197e40 100644 --- a/Xi/extinit.c +++ b/Xi/extinit.c @@ -362,7 +362,7 @@ SProcIDispatch(ClientPtr client) case X_SetDeviceMode: return ProcXSetDeviceMode(client); case X_SelectExtensionEvent: - return SProcXSelectExtensionEvent(client); + return ProcXSelectExtensionEvent(client); case X_GetSelectedExtensionEvents: return SProcXGetSelectedExtensionEvents(client); case X_ChangeDeviceDontPropagateList: diff --git a/Xi/handlers.h b/Xi/handlers.h index fe0a6c400..6c084989e 100644 --- a/Xi/handlers.h +++ b/Xi/handlers.h @@ -93,7 +93,6 @@ int SProcXISelectEvents(ClientPtr client); int SProcXISetClientPointer(ClientPtr client); int SProcXISetFocus(ClientPtr client); int SProcXIWarpPointer(ClientPtr client); -int SProcXSelectExtensionEvent(ClientPtr client); int SProcXSendExtensionEvent(ClientPtr client); int SProcXSetDeviceFocus(ClientPtr client); int SProcXUngrabDeviceButton(ClientPtr client); diff --git a/Xi/selectev.c b/Xi/selectev.c index a1e2ce024..6d99b08a3 100644 --- a/Xi/selectev.c +++ b/Xi/selectev.c @@ -111,25 +111,6 @@ HandleDevicePresenceMask(ClientPtr client, WindowPtr win, return Success; } -/*********************************************************************** - * - * Handle requests from clients with a different byte order. - * - */ - -int _X_COLD -SProcXSelectExtensionEvent(ClientPtr client) -{ - REQUEST(xSelectExtensionEventReq); - REQUEST_AT_LEAST_SIZE(xSelectExtensionEventReq); - swapl(&stuff->window); - swaps(&stuff->count); - REQUEST_FIXED_SIZE(xSelectExtensionEventReq, stuff->count * sizeof(CARD32)); - SwapLongs((CARD32 *) (&stuff[1]), stuff->count); - - return (ProcXSelectExtensionEvent(client)); -} - /*********************************************************************** * * This procedure selects input from an extension device. @@ -139,18 +120,24 @@ SProcXSelectExtensionEvent(ClientPtr client) int ProcXSelectExtensionEvent(ClientPtr client) { + REQUEST(xSelectExtensionEventReq); + REQUEST_AT_LEAST_SIZE(xSelectExtensionEventReq); + + if (client->swapped) { + swapl(&stuff->window); + swaps(&stuff->count); + } + + REQUEST_FIXED_SIZE(xSelectExtensionEventReq, stuff->count * sizeof(CARD32)); + + if (client->swapped) + SwapLongs((CARD32 *) (&stuff[1]), stuff->count); + int ret; int i; WindowPtr pWin; struct tmask tmp[EMASKSIZE]; - REQUEST(xSelectExtensionEventReq); - REQUEST_AT_LEAST_SIZE(xSelectExtensionEventReq); - - if (client->req_len != - bytes_to_int32(sizeof(xSelectExtensionEventReq)) + stuff->count) - return BadLength; - ret = dixLookupWindow(&pWin, stuff->window, client, DixReceiveAccess); if (ret != Success) return ret;