mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-04 04:06:06 -05:00
input: get_current_modifiers(): don’t crash if seat has no keyboard
Closes #963
This commit is contained in:
parent
cc8e86fd2d
commit
6e536e7ed8
2 changed files with 19 additions and 6 deletions
|
|
@ -46,6 +46,7 @@
|
|||
* `[key-bindings].scrollback-home|end` options.
|
||||
* Socket activation for `foot --server` and accompanying systemd unit files
|
||||
|
||||
|
||||
### Changed
|
||||
|
||||
* Minimum required meson version is now 0.58.
|
||||
|
|
@ -62,6 +63,7 @@
|
|||
The kitty keyboard protocol (added in release 1.10.3) can
|
||||
be used to similar effect.
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
* Build: missing `wayland_client` dependency in `test-config`
|
||||
|
|
@ -79,6 +81,8 @@
|
|||
(https://codeberg.org/dnkl/foot/issues/943).
|
||||
* Key binding collisions not detected for bindings specified as option
|
||||
overrides on the command line.
|
||||
* Crash when seat has no keyboard
|
||||
(https://codeberg.org/dnkl/foot/issues/963).
|
||||
|
||||
|
||||
### Security
|
||||
|
|
|
|||
21
input.c
21
input.c
|
|
@ -1010,14 +1010,23 @@ get_current_modifiers(const struct seat *seat,
|
|||
xkb_mod_mask_t *effective,
|
||||
xkb_mod_mask_t *consumed, uint32_t key)
|
||||
{
|
||||
if (effective != NULL) {
|
||||
*effective = xkb_state_serialize_mods(
|
||||
seat->kbd.xkb_state, XKB_STATE_MODS_EFFECTIVE);
|
||||
if (unlikely(seat->kbd.xkb_state == NULL)) {
|
||||
if (effective != NULL)
|
||||
*effective = 0;
|
||||
if (consumed != NULL)
|
||||
*consumed = 0;
|
||||
}
|
||||
|
||||
if (consumed != NULL) {
|
||||
*consumed = xkb_state_key_get_consumed_mods2(
|
||||
seat->kbd.xkb_state, key, XKB_CONSUMED_MODE_XKB);
|
||||
else {
|
||||
if (effective != NULL) {
|
||||
*effective = xkb_state_serialize_mods(
|
||||
seat->kbd.xkb_state, XKB_STATE_MODS_EFFECTIVE);
|
||||
}
|
||||
|
||||
if (consumed != NULL) {
|
||||
*consumed = xkb_state_key_get_consumed_mods2(
|
||||
seat->kbd.xkb_state, key, XKB_CONSUMED_MODE_XKB);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue