Merge pull request #499 from emersion/unknown-keymap

Do not segfault when loading an unknown keymap
This commit is contained in:
Drew DeVault 2017-12-18 09:17:39 -05:00 committed by GitHub
commit c91523c578
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 5 deletions

View file

@ -354,8 +354,16 @@ struct roots_keyboard *roots_keyboard_create(struct wlr_input_device *device,
wlr_log(L_ERROR, "Cannot create XKB context");
return NULL;
}
wlr_keyboard_set_keymap(device->keyboard, xkb_map_new_from_names(context,
&rules, XKB_KEYMAP_COMPILE_NO_FLAGS));
struct xkb_keymap *keymap = xkb_map_new_from_names(context, &rules,
XKB_KEYMAP_COMPILE_NO_FLAGS);
if (keymap == NULL) {
xkb_context_unref(context);
wlr_log(L_ERROR, "Cannot create XKB keymap");
return NULL;
}
wlr_keyboard_set_keymap(device->keyboard, keymap);
xkb_context_unref(context);
int repeat_rate = (config->repeat_rate > 0) ? config->repeat_rate : 25;