linux: Fix crash when NoKeymap event is received on Wayland (#24379)
Closes #24139 For weird reasons, Sway on few linux distoros sends `NoKeymap` event when switching windows. Zed crashes due to assertion on this event to be `XkbV1`. To fix this, we ignore `NoKeymap` event instead crashing Zed. Release Notes: - Fixed a crash in Wayland-based compositors like Sway when switching windows via the keyboard.
This commit is contained in:
parent
5ffacb9ca5
commit
6534e0bafd
1 changed files with 4 additions and 5 deletions
|
@ -1132,11 +1132,10 @@ impl Dispatch<wl_keyboard::WlKeyboard, ()> for WaylandClientStatePtr {
|
||||||
size,
|
size,
|
||||||
..
|
..
|
||||||
} => {
|
} => {
|
||||||
assert_eq!(
|
if format != wl_keyboard::KeymapFormat::XkbV1 {
|
||||||
format,
|
log::error!("Received keymap format {:?}, expected XkbV1", format);
|
||||||
wl_keyboard::KeymapFormat::XkbV1,
|
return;
|
||||||
"Unsupported keymap format"
|
}
|
||||||
);
|
|
||||||
let xkb_context = xkb::Context::new(xkb::CONTEXT_NO_FLAGS);
|
let xkb_context = xkb::Context::new(xkb::CONTEXT_NO_FLAGS);
|
||||||
let keymap = unsafe {
|
let keymap = unsafe {
|
||||||
xkb::Keymap::new_from_fd(
|
xkb::Keymap::new_from_fd(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue