xkb: XkbWriteKeyBehaviors(): only pass in the needed data

We don't need the whole struct here, especially do we not wanna change it.
Therefore only pass in what's really needed, so it gets easier to understand.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
Enrico Weigelt, metux IT consult 2024-07-15 19:29:10 +02:00 committed by Enrico Weigelt, metux IT consult .
parent 3e3c514f23
commit a3f5706242

View File

@ -1240,18 +1240,17 @@ XkbSizeKeyBehaviors(XkbDescPtr xkb, xkbGetMapReply * rep)
}
static char *
XkbWriteKeyBehaviors(XkbDescPtr xkb, xkbGetMapReply * rep, char *buf,
ClientPtr client)
XkbWriteKeyBehaviors(XkbDescPtr xkb, KeyCode firstKeyBehavior, CARD8 nKeyBehaviors, char *buf)
{
unsigned i;
xkbBehaviorWireDesc *wire;
XkbBehavior *pBhvr;
wire = (xkbBehaviorWireDesc *) buf;
pBhvr = &xkb->server->behaviors[rep->firstKeyBehavior];
for (i = 0; i < rep->nKeyBehaviors; i++, pBhvr++) {
pBhvr = &xkb->server->behaviors[firstKeyBehavior];
for (i = 0; i < nKeyBehaviors; i++, pBhvr++) {
if (pBhvr->type != XkbKB_Default) {
wire->key = i + rep->firstKeyBehavior;
wire->key = i + firstKeyBehavior;
wire->type = pBhvr->type;
wire->data = pBhvr->data;
wire++;
@ -1421,7 +1420,7 @@ XkbSendMap(ClientPtr client, XkbDescPtr xkb, xkbGetMapReply * rep)
if (rep->nKeyActs > 0)
desc = XkbWriteKeyActions(xkb, rep->firstKeyAct, rep->nKeyActs, desc);
if (rep->totalKeyBehaviors > 0)
desc = XkbWriteKeyBehaviors(xkb, rep, desc, client);
desc = XkbWriteKeyBehaviors(xkb, rep->firstKeyBehavior, rep->nKeyBehaviors, desc);
if (rep->virtualMods) {
register int sz, bit;