XkbCopyKeymap: use correct range for MapNotify
We haven't copied {min,max}_key_code by the time the notifies run, so use src instead of dst to determine number of keys, et al.
This commit is contained in:
parent
6323a11d0d
commit
33af05d58f
@ -1418,20 +1418,20 @@ XkbCopyKeymap(XkbDescPtr src, XkbDescPtr dst, Bool sendNotifies)
|
|||||||
mn.minKeyCode = src->min_key_code;
|
mn.minKeyCode = src->min_key_code;
|
||||||
mn.maxKeyCode = src->max_key_code;
|
mn.maxKeyCode = src->max_key_code;
|
||||||
mn.firstType = 0;
|
mn.firstType = 0;
|
||||||
mn.nTypes = dst->map->num_types;
|
mn.nTypes = src->map->num_types;
|
||||||
mn.firstKeySym = dst->min_key_code;
|
mn.firstKeySym = src->min_key_code;
|
||||||
mn.nKeySyms = XkbNumKeys(dst);
|
mn.nKeySyms = XkbNumKeys(src);
|
||||||
mn.firstKeyAct = dst->min_key_code;
|
mn.firstKeyAct = src->min_key_code;
|
||||||
mn.nKeyActs = XkbNumKeys(dst);
|
mn.nKeyActs = XkbNumKeys(src);
|
||||||
/* Cargo-culted from ProcXkbGetMap. */
|
/* Cargo-culted from ProcXkbGetMap. */
|
||||||
mn.firstKeyBehavior = dst->min_key_code;
|
mn.firstKeyBehavior = src->min_key_code;
|
||||||
mn.nKeyBehaviors = XkbNumKeys(dst);
|
mn.nKeyBehaviors = XkbNumKeys(src);
|
||||||
mn.firstKeyExplicit = dst->min_key_code;
|
mn.firstKeyExplicit = src->min_key_code;
|
||||||
mn.nKeyExplicit = XkbNumKeys(dst);
|
mn.nKeyExplicit = XkbNumKeys(src);
|
||||||
mn.firstModMapKey = dst->min_key_code;
|
mn.firstModMapKey = src->min_key_code;
|
||||||
mn.nModMapKeys = XkbNumKeys(dst);
|
mn.nModMapKeys = XkbNumKeys(src);
|
||||||
mn.firstVModMapKey = dst->min_key_code;
|
mn.firstVModMapKey = src->min_key_code;
|
||||||
mn.nVModMapKeys = XkbNumKeys(dst);
|
mn.nVModMapKeys = XkbNumKeys(src);
|
||||||
mn.virtualMods = ~0; /* ??? */
|
mn.virtualMods = ~0; /* ??? */
|
||||||
mn.changed = XkbAllMapComponentsMask;
|
mn.changed = XkbAllMapComponentsMask;
|
||||||
XkbSendMapNotify(pDev, &mn);
|
XkbSendMapNotify(pDev, &mn);
|
||||||
|
Loading…
Reference in New Issue
Block a user