backends/native: Don't crash if keymap is misconfigured
xkb recently gained support for user-specified keymaps, which means we can no longer assume that the configuration data is necessarily fully complete or correct; and the configuration language is quite a labyrinth, so it's easy to get wrong. If setting the keymap fails, leave it in whatever state it previously had, since that seems preferable to crashing with a NULL pointer dereference. Resolves: https://gitlab.gnome.org/GNOME/mutter/-/issues/1555 Signed-off-by: Simon McVittie <smcv@debian.org> Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1605>
This commit is contained in:

committed by
Simon McVittie

parent
17dbb98811
commit
60f647df8e
@ -122,6 +122,8 @@ void
|
||||
meta_keymap_native_set_keyboard_map (MetaKeymapNative *keymap,
|
||||
struct xkb_keymap *xkb_keymap)
|
||||
{
|
||||
g_return_if_fail (xkb_keymap != NULL);
|
||||
|
||||
if (keymap->keymap)
|
||||
xkb_keymap_unref (keymap->keymap);
|
||||
keymap->keymap = xkb_keymap_ref (xkb_keymap);
|
||||
|
Reference in New Issue
Block a user