mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 10:14:52 +00:00
dix: write out xGetKeyboardControlReply directly
This commit is contained in:
@@ -2272,18 +2272,16 @@ ProcChangeKeyboardControl(ClientPtr client)
|
||||
int
|
||||
ProcGetKeyboardControl(ClientPtr client)
|
||||
{
|
||||
int rc, i;
|
||||
DeviceIntPtr kbd = PickKeyboard(client);
|
||||
KeybdCtrl *ctrl = &kbd->kbdfeed->ctrl;
|
||||
xGetKeyboardControlReply rep;
|
||||
|
||||
REQUEST_SIZE_MATCH(xReq);
|
||||
|
||||
rc = XaceHookDeviceAccess(client, kbd, DixGetAttrAccess);
|
||||
int rc = XaceHookDeviceAccess(client, kbd, DixGetAttrAccess);
|
||||
if (rc != Success)
|
||||
return rc;
|
||||
|
||||
rep = (xGetKeyboardControlReply) {
|
||||
xGetKeyboardControlReply rep = {
|
||||
.type = X_Reply,
|
||||
.globalAutoRepeat = ctrl->autoRepeat,
|
||||
.sequenceNumber = client->sequence,
|
||||
@@ -2294,9 +2292,17 @@ ProcGetKeyboardControl(ClientPtr client)
|
||||
.bellPitch = ctrl->bell_pitch,
|
||||
.bellDuration = ctrl->bell_duration
|
||||
};
|
||||
for (i = 0; i < 32; i++)
|
||||
for (int i = 0; i < 32; i++)
|
||||
rep.map[i] = ctrl->autoRepeats[i];
|
||||
WriteReplyToClient(client, sizeof(xGetKeyboardControlReply), &rep);
|
||||
|
||||
if (client->swapped) {
|
||||
swaps(&rep.sequenceNumber);
|
||||
swapl(&rep.length);
|
||||
swapl(&rep.ledMask);
|
||||
swaps(&rep.bellPitch);
|
||||
swaps(&rep.bellDuration);
|
||||
}
|
||||
WriteToClient(client, sizeof(rep), &rep);
|
||||
return Success;
|
||||
}
|
||||
|
||||
|
||||
@@ -535,18 +535,6 @@ SListExtensionsReply(ClientPtr pClient, int size, xListExtensionsReply * pRep)
|
||||
WriteToClient(pClient, size, pRep);
|
||||
}
|
||||
|
||||
void _X_COLD
|
||||
SGetKeyboardControlReply(ClientPtr pClient, int size,
|
||||
xGetKeyboardControlReply * pRep)
|
||||
{
|
||||
swaps(&pRep->sequenceNumber);
|
||||
swapl(&pRep->length);
|
||||
swapl(&pRep->ledMask);
|
||||
swaps(&pRep->bellPitch);
|
||||
swaps(&pRep->bellDuration);
|
||||
WriteToClient(pClient, size, pRep);
|
||||
}
|
||||
|
||||
void _X_COLD
|
||||
SGetPointerControlReply(ClientPtr pClient, int size,
|
||||
xGetPointerControlReply * pRep)
|
||||
|
||||
@@ -819,7 +819,7 @@ ReplySwapPtr ReplySwapVector[256] = {
|
||||
ReplyNotSwappd, /* 100 */
|
||||
ReplyNotSwappd,
|
||||
ReplyNotSwappd,
|
||||
(ReplySwapPtr) SGetKeyboardControlReply,
|
||||
ReplyNotSwappd,
|
||||
ReplyNotSwappd,
|
||||
ReplyNotSwappd, /* 105 */
|
||||
(ReplySwapPtr) SGetPointerControlReply,
|
||||
|
||||
@@ -154,11 +154,6 @@ extern void SListExtensionsReply(ClientPtr /* pClient */ ,
|
||||
int /* size */ ,
|
||||
xListExtensionsReply * /* pRep */ );
|
||||
|
||||
extern void SGetKeyboardControlReply(ClientPtr /* pClient */ ,
|
||||
int /* size */ ,
|
||||
xGetKeyboardControlReply *
|
||||
/* pRep */ );
|
||||
|
||||
extern void SGetPointerControlReply(ClientPtr /* pClient */ ,
|
||||
int /* size */ ,
|
||||
xGetPointerControlReply *
|
||||
|
||||
Reference in New Issue
Block a user