diff --git a/xkb/xkb.c b/xkb/xkb.c index 12b1527f3f..bf1655a10f 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -773,6 +773,35 @@ ProcXkbGetControls(ClientPtr client) int ProcXkbSetControls(ClientPtr client) { + REQUEST(xkbSetControlsReq); + REQUEST_SIZE_MATCH(xkbSetControlsReq); + + if (client->swapped) { + swaps(&stuff->deviceSpec); + swaps(&stuff->affectInternalVMods); + swaps(&stuff->internalVMods); + swaps(&stuff->affectIgnoreLockVMods); + swaps(&stuff->ignoreLockVMods); + swaps(&stuff->axOptions); + swapl(&stuff->affectEnabledCtrls); + swapl(&stuff->enabledCtrls); + swapl(&stuff->changeCtrls); + swaps(&stuff->repeatDelay); + swaps(&stuff->repeatInterval); + swaps(&stuff->slowKeysDelay); + swaps(&stuff->debounceDelay); + swaps(&stuff->mkDelay); + swaps(&stuff->mkInterval); + swaps(&stuff->mkTimeToMax); + swaps(&stuff->mkMaxSpeed); + swaps(&stuff->mkCurve); + swaps(&stuff->axTimeout); + swapl(&stuff->axtCtrlsMask); + swapl(&stuff->axtCtrlsValues); + swaps(&stuff->axtOptsMask); + swaps(&stuff->axtOptsValues); + } + DeviceIntPtr dev, tmpd; XkbSrvInfoPtr xkbi; XkbControlsPtr ctrl; @@ -781,9 +810,6 @@ ProcXkbSetControls(ClientPtr client) XkbEventCauseRec cause; XkbSrvLedInfoPtr sli; - REQUEST(xkbSetControlsReq); - REQUEST_SIZE_MATCH(xkbSetControlsReq); - if (!(client->xkbClientFlags & _XkbClientInitialized)) return BadAccess; diff --git a/xkb/xkbSwap.c b/xkb/xkbSwap.c index dc502fd558..8f93490de3 100644 --- a/xkb/xkbSwap.c +++ b/xkb/xkbSwap.c @@ -137,37 +137,6 @@ SProcXkbLatchLockState(ClientPtr client) return ProcXkbLatchLockState(client); } -static int _X_COLD -SProcXkbSetControls(ClientPtr client) -{ - REQUEST(xkbSetControlsReq); - REQUEST_SIZE_MATCH(xkbSetControlsReq); - swaps(&stuff->deviceSpec); - swaps(&stuff->affectInternalVMods); - swaps(&stuff->internalVMods); - swaps(&stuff->affectIgnoreLockVMods); - swaps(&stuff->ignoreLockVMods); - swaps(&stuff->axOptions); - swapl(&stuff->affectEnabledCtrls); - swapl(&stuff->enabledCtrls); - swapl(&stuff->changeCtrls); - swaps(&stuff->repeatDelay); - swaps(&stuff->repeatInterval); - swaps(&stuff->slowKeysDelay); - swaps(&stuff->debounceDelay); - swaps(&stuff->mkDelay); - swaps(&stuff->mkInterval); - swaps(&stuff->mkTimeToMax); - swaps(&stuff->mkMaxSpeed); - swaps(&stuff->mkCurve); - swaps(&stuff->axTimeout); - swapl(&stuff->axtCtrlsMask); - swapl(&stuff->axtCtrlsValues); - swaps(&stuff->axtOptsMask); - swaps(&stuff->axtOptsValues); - return ProcXkbSetControls(client); -} - static int _X_COLD SProcXkbSetMap(ClientPtr client) { @@ -280,7 +249,7 @@ SProcXkbDispatch(ClientPtr client) case X_kbGetControls: return ProcXkbGetControls(client); case X_kbSetControls: - return SProcXkbSetControls(client); + return ProcXkbSetControls(client); case X_kbGetMap: return ProcXkbGetMap(client); case X_kbSetMap: