diff --git a/Xi/extinit.c b/Xi/extinit.c index d5f02bd59..ce520794a 100644 --- a/Xi/extinit.c +++ b/Xi/extinit.c @@ -378,7 +378,7 @@ SProcIDispatch(ClientPtr client) case X_GrabDevice: return SProcXGrabDevice(client); case X_UngrabDevice: - return SProcXUngrabDevice(client); + return ProcXUngrabDevice(client); case X_GrabDeviceKey: return SProcXGrabDeviceKey(client); case X_UngrabDeviceKey: diff --git a/Xi/handlers.h b/Xi/handlers.h index c52e53926..fe0a6c400 100644 --- a/Xi/handlers.h +++ b/Xi/handlers.h @@ -97,7 +97,6 @@ int SProcXSelectExtensionEvent(ClientPtr client); int SProcXSendExtensionEvent(ClientPtr client); int SProcXSetDeviceFocus(ClientPtr client); int SProcXUngrabDeviceButton(ClientPtr client); -int SProcXUngrabDevice(ClientPtr client); int SProcXUngrabDeviceKey(ClientPtr client); #endif /* _XSERVER_XI_HANDLERS_H */ diff --git a/Xi/ungrdev.c b/Xi/ungrdev.c index e97d35029..de5d80958 100644 --- a/Xi/ungrdev.c +++ b/Xi/ungrdev.c @@ -60,21 +60,6 @@ SOFTWARE. #include "inputstr.h" /* DeviceIntPtr */ #include "windowstr.h" /* window structure */ -/*********************************************************************** - * - * Handle requests from a client with a different byte order. - * - */ - -int _X_COLD -SProcXUngrabDevice(ClientPtr client) -{ - REQUEST(xUngrabDeviceReq); - REQUEST_SIZE_MATCH(xUngrabDeviceReq); - swapl(&stuff->time); - return (ProcXUngrabDevice(client)); -} - /*********************************************************************** * * Release a grab of an extension device. @@ -84,14 +69,17 @@ SProcXUngrabDevice(ClientPtr client) int ProcXUngrabDevice(ClientPtr client) { + REQUEST(xUngrabDeviceReq); + REQUEST_SIZE_MATCH(xUngrabDeviceReq); + + if (client->swapped) + swapl(&stuff->time); + DeviceIntPtr dev; GrabPtr grab; TimeStamp time; int rc; - REQUEST(xUngrabDeviceReq); - REQUEST_SIZE_MATCH(xUngrabDeviceReq); - rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess); if (rc != Success) return rc;