From 302533aac81fe2461064488f554aa01bb706133d Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Wed, 17 Sep 2025 12:49:09 +0200 Subject: [PATCH] Xi: inline ProcXSetDeviceFocus() Signed-off-by: Enrico Weigelt, metux IT consult --- Xi/extinit.c | 2 +- Xi/handlers.h | 1 - Xi/setfocus.c | 27 ++++++++------------------- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/Xi/extinit.c b/Xi/extinit.c index ff4b9343a..bcc82034f 100644 --- a/Xi/extinit.c +++ b/Xi/extinit.c @@ -392,7 +392,7 @@ SProcIDispatch(ClientPtr client) case X_GetDeviceFocus: return ProcXGetDeviceFocus(client); case X_SetDeviceFocus: - return SProcXSetDeviceFocus(client); + return ProcXSetDeviceFocus(client); case X_GetFeedbackControl: return ProcXGetFeedbackControl(client); case X_ChangeFeedbackControl: diff --git a/Xi/handlers.h b/Xi/handlers.h index 96211ea82..0b29bcc4f 100644 --- a/Xi/handlers.h +++ b/Xi/handlers.h @@ -81,7 +81,6 @@ int SProcXIQueryVersion(ClientPtr client); int SProcXISelectEvents(ClientPtr client); int SProcXISetClientPointer(ClientPtr client); int SProcXIWarpPointer(ClientPtr client); -int SProcXSetDeviceFocus(ClientPtr client); int SProcXUngrabDeviceButton(ClientPtr client); int SProcXUngrabDeviceKey(ClientPtr client); diff --git a/Xi/setfocus.c b/Xi/setfocus.c index 3b82ddb30..f1d61f8d8 100644 --- a/Xi/setfocus.c +++ b/Xi/setfocus.c @@ -63,22 +63,6 @@ SOFTWARE. #include "exglobals.h" -/*********************************************************************** - * - * This procedure sets the focus for a device. - * - */ - -int _X_COLD -SProcXSetDeviceFocus(ClientPtr client) -{ - REQUEST(xSetDeviceFocusReq); - REQUEST_SIZE_MATCH(xSetDeviceFocusReq); - swapl(&stuff->focus); - swapl(&stuff->time); - return (ProcXSetDeviceFocus(client)); -} - /*********************************************************************** * * This procedure sets the focus for a device. @@ -88,12 +72,17 @@ SProcXSetDeviceFocus(ClientPtr client) int ProcXSetDeviceFocus(ClientPtr client) { - int ret; - DeviceIntPtr dev; - REQUEST(xSetDeviceFocusReq); REQUEST_SIZE_MATCH(xSetDeviceFocusReq); + if (client->swapped) { + swapl(&stuff->focus); + swapl(&stuff->time); + } + + int ret; + DeviceIntPtr dev; + ret = dixLookupDevice(&dev, stuff->device, client, DixSetFocusAccess); if (ret != Success) return ret;