diff --git a/dix/devices.c b/dix/devices.c index f4232c032..52654e06e 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -1945,7 +1945,6 @@ ProcSetPointerMapping(ClientPtr client) int ProcGetKeyboardMapping(ClientPtr client) { - xGetKeyboardMappingReply rep; DeviceIntPtr kbd = PickKeyboard(client); XkbDescPtr xkb; KeySymsPtr syms; @@ -1974,14 +1973,20 @@ ProcGetKeyboardMapping(ClientPtr client) if (!syms) return BadAlloc; - rep = (xGetKeyboardMappingReply) { + xGetKeyboardMappingReply rep = { .type = X_Reply, .keySymsPerKeyCode = syms->mapWidth, .sequenceNumber = client->sequence, /* length is a count of 4 byte quantities and KeySyms are 4 bytes */ .length = syms->mapWidth * stuff->count }; - WriteReplyToClient(client, sizeof(xGetKeyboardMappingReply), &rep); + + if (client->swapped) { + swaps(&rep.sequenceNumber); + swapl(&rep.length); + } + + WriteToClient(client, sizeof(rep), &rep); client->pSwapReplyFunc = (ReplySwapPtr) CopySwap32Write; WriteSwappedDataToClient(client, syms->mapWidth * stuff->count * sizeof(KeySym), diff --git a/dix/swaprep.c b/dix/swaprep.c index dad41daef..3e597a0b3 100644 --- a/dix/swaprep.c +++ b/dix/swaprep.c @@ -535,15 +535,6 @@ SListExtensionsReply(ClientPtr pClient, int size, xListExtensionsReply * pRep) WriteToClient(pClient, size, pRep); } -void _X_COLD -SGetKeyboardMappingReply(ClientPtr pClient, int size, - xGetKeyboardMappingReply * pRep) -{ - swaps(&pRep->sequenceNumber); - swapl(&pRep->length); - WriteToClient(pClient, size, pRep); -} - void _X_COLD SGetKeyboardControlReply(ClientPtr pClient, int size, xGetKeyboardControlReply * pRep) diff --git a/dix/tables.c b/dix/tables.c index 8f6defcb6..f0f754371 100644 --- a/dix/tables.c +++ b/dix/tables.c @@ -816,7 +816,7 @@ ReplySwapPtr ReplySwapVector[256] = { (ReplySwapPtr) SGenericReply, /* SQueryExtensionReply, */ (ReplySwapPtr) SListExtensionsReply, ReplyNotSwappd, /* 100 */ - (ReplySwapPtr) SGetKeyboardMappingReply, + ReplyNotSwappd, ReplyNotSwappd, (ReplySwapPtr) SGetKeyboardControlReply, ReplyNotSwappd, diff --git a/include/swaprep.h b/include/swaprep.h index df54667b2..d53547751 100644 --- a/include/swaprep.h +++ b/include/swaprep.h @@ -154,11 +154,6 @@ extern void SListExtensionsReply(ClientPtr /* pClient */ , int /* size */ , xListExtensionsReply * /* pRep */ ); -extern void SGetKeyboardMappingReply(ClientPtr /* pClient */ , - int /* size */ , - xGetKeyboardMappingReply * - /* pRep */ ); - extern void SGetKeyboardControlReply(ClientPtr /* pClient */ , int /* size */ , xGetKeyboardControlReply *