diff --git a/xkb/xkb.c b/xkb/xkb.c index 07ad1dc4d..303478cb0 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -3831,7 +3831,8 @@ XkbAssembleNames(ClientPtr client, XkbDescPtr xkb, xkbGetNamesReply rep, char *b XkbKeyTypePtr type = xkb->map->types; for (i = 0; i < rep.nTypes; i++, type++) { - *desc++ = type->num_levels; + /* Either no name or all of them, even empty ones */ + *desc++ = (type->level_names) ? type->num_levels : 0; } desc += XkbPaddedSize(rep.nTypes) - rep.nTypes;