From f45d04cae9ed7076d9d9129feed38b9101f08abb Mon Sep 17 00:00:00 2001 From: Pierre Le Marre Date: Tue, 14 Oct 2025 23:17:32 +0200 Subject: [PATCH] xkb: Fix key type level names Signed-off-by: Pierre Le Marre --- xkb/xkb.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/xkb/xkb.c b/xkb/xkb.c index 009d52990..28d890d9a 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -4355,13 +4355,14 @@ _XkbSetNames(ClientPtr client, DeviceIntPtr dev, xkbSetNamesReq * stuff) tmp = (CARD32 *) (((char *) tmp) + XkbPaddedSize(stuff->nKTLevels)); type = &xkb->map->types[stuff->firstKTLevel]; for (i = 0; i < stuff->nKTLevels; i++, type++) { - if (width[i] > 0) { - if (type->level_names) { - register unsigned n; - - for (n = 0; n < width[i]; n++) { - type->level_names[n] = tmp[n]; - } + if (type->level_names) { + register unsigned n; + for (n = 0; n < width[i]; n++) { + type->level_names[n] = tmp[n]; + } + /* Reset other level names */ + for (n = width[i]; n < type->num_levels; n++) { + type->level_names[n] = None; } tmp += width[i]; }