diff --git a/types/wlr_keyboard.c b/types/wlr_keyboard.c index 5c143f45..81181704 100644 --- a/types/wlr_keyboard.c +++ b/types/wlr_keyboard.c @@ -189,18 +189,18 @@ bool wlr_keyboard_set_keymap(struct wlr_keyboard *kb, struct xkb_keymap *keymap) return true; } - struct xkb_state *xkb_state = xkb_state_new(kb->keymap); + struct xkb_state *xkb_state = xkb_state_new(keymap); if (xkb_state == NULL) { wlr_log(WLR_ERROR, "Failed to create XKB state"); return false; } - char *keymap_str = xkb_keymap_get_as_string(kb->keymap, XKB_KEYMAP_FORMAT_TEXT_V1); + char *keymap_str = xkb_keymap_get_as_string(keymap, XKB_KEYMAP_FORMAT_TEXT_V1); if (keymap_str == NULL) { wlr_log(WLR_ERROR, "Failed to get string version of keymap"); goto error_xkb_state; } - size_t keymap_size = strlen(kb->keymap_string) + 1; + size_t keymap_size = strlen(keymap_str) + 1; int rw_fd = -1, ro_fd = -1; if (!allocate_shm_file_pair(keymap_size, &rw_fd, &ro_fd)) {