diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2020-05-13 21:12:53 -0400 |
---|---|---|
committer | Tudor Brindus <me@tbrindus.ca> | 2020-05-14 23:51:17 -0400 |
commit | 975b8a90ad9a35b5c4a874ff1e83927b09ffd3fa (patch) | |
tree | c91fece3ec16a7056875eafc79c74db705d3f7db /sway/input/seatop_down.c | |
parent | aa48b926be21bfe9713a9caf36ce10b5345e50ab (diff) |
input: reset keyboard groups keyboard on reset all
If the keyboard that triggers the reload binding is using the default
keymap, default repeat delay, and default repeat rate, the associated
keyboard group is never being destroyed on reload. This was causing the
keyboard group's keyboard not to get disarmed and result in a
use-after-free in handle_keyboard_repeat.
If the keyboard was not using the defaults for all three settings, then
it's associated keyboard would get destroyed during the reset - which
did disarm the keyboard group's keyboard. In this case, the
use-after-free would not occur.
This adds a block to input_manager_reset_all_inputs that resets the
keyboard for all keyboard groups in all seats, which will disarm them.
Since the inputs are all being reset anyway, which will reset all
individual keyboards, it is not necessary to be selective on which ones
get reset.
Diffstat (limited to 'sway/input/seatop_down.c')
0 files changed, 0 insertions, 0 deletions