commit 402420f
Michael Forney
·
2015-10-31 05:33:56 +0000 UTC
parent 0dff35a
Send wl_keyboard.{modifiers,enter} *after* keymap
This fixes a crash in mpv, which creates the xkb state upon keymap, and tries
to use it upon modifiers (even if it hasn't been created yet).
1 files changed,
+2,
-1
+2,
-1
1@@ -298,11 +298,12 @@ keyboard_bind(struct keyboard *keyboard, struct wl_client *client, uint32_t vers
2
3 client_resource = wl_resource_create(client, &wl_keyboard_interface, version, id);
4 wl_resource_set_implementation(client_resource, &keyboard_implementation, keyboard, &unbind);
5- input_focus_add_resource(&keyboard->focus, client_resource);
6
7 /* Subtract one to remove terminating NULL character. */
8 wl_keyboard_send_keymap(client_resource, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1, keyboard->xkb.keymap.fd, keyboard->xkb.keymap.size - 1);
9
10+ input_focus_add_resource(&keyboard->focus, client_resource);
11+
12 if (version >= 4)
13 wl_keyboard_send_repeat_info(client_resource, repeat_rate, repeat_delay);
14