diff --git a/src/xkb/XKBNames.c b/src/xkb/XKBNames.c index 3f2fd39d..5a3fb6f8 100644 --- a/src/xkb/XKBNames.c +++ b/src/xkb/XKBNames.c @@ -778,9 +778,14 @@ XkbNoteNameChanges(XkbNameChangesPtr old, { int first, last, old_last, new_last; - wanted &= new->changed; - if ((old == NULL) || (new == NULL) || (wanted == 0)) + if ((old == NULL) || (new == NULL)) return; + + wanted &= new->changed; + + if (wanted == 0) + return; + if (wanted & XkbKeyTypeNamesMask) { if (old->changed & XkbKeyTypeNamesMask) { new_last = (new->first_type + new->num_types - 1);