Commit 5927e070 authored by Erkki Seppälä's avatar Erkki Seppälä Committed by Peter Hutterer

xkb: Cancel a key's repetition when its autorepeat is disabled.

When XkbChangeEnabledControls is called to disable key repetition of a
certain key (or keys), currently ongoing repetition of that key was
not cancelled. It was cancelled if ChangeKeyboardControl was used to
disable key repetition globally.
Reviewed-by: 's avatarRami Ylimäki <rami.ylimaki@vincit.fi>
Reviewed-by: 's avatarDirk Wallenstein <halsmit@t-online.de>
Signed-off-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
parent be3be758
......@@ -915,9 +915,14 @@ ProcXkbSetControls(ClientPtr client)
stuff->axtOptsMask);
}
if (stuff->changeCtrls & XkbPerKeyRepeatMask)
if (stuff->changeCtrls & XkbPerKeyRepeatMask) {
memcpy(new.per_key_repeat, stuff->perKeyRepeat,
XkbPerKeyBitArraySize);
if (xkbi->repeatKey &&
!BitIsOn(new.per_key_repeat, xkbi->repeatKey)) {
AccessXCancelRepeatKey(xkbi, xkbi->repeatKey);
}
}
old= *ctrl;
*ctrl= new;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment