diff --git a/xkb/XKBMisc.c b/xkb/XKBMisc.c index 6f63c2b21..a9d8b17c0 100644 --- a/xkb/XKBMisc.c +++ b/xkb/XKBMisc.c @@ -480,7 +480,7 @@ register int i; int width,nOldGroups,oldWidth,newTypes[XkbNumKbdGroups]; if ((!xkb) || (!XkbKeycodeInRange(xkb,key)) || (!xkb->map) || - (!xkb->map->types)||((groups&XkbAllGroupsMask)==0)|| + (!xkb->map->types)||(!newTypesIn)||((groups&XkbAllGroupsMask)==0)|| (nGroups>XkbNumKbdGroups)) { return BadMatch; }