wayland: Store key press/release serials on MetaWaylandKeyboard

https://bugzilla.gnome.org/show_bug.cgi?id=756296
This commit is contained in:
Carlos Garnacho 2015-10-09 16:40:45 +02:00
parent 43a1d43f2b
commit dd5a4ecdf9
2 changed files with 4 additions and 2 deletions

View File

@ -251,11 +251,12 @@ notify_key (MetaWaylandKeyboard *keyboard,
{ {
struct wl_client *client = wl_resource_get_client (keyboard->focus_surface->resource); struct wl_client *client = wl_resource_get_client (keyboard->focus_surface->resource);
struct wl_display *display = wl_client_get_display (client); struct wl_display *display = wl_client_get_display (client);
uint32_t serial = wl_display_next_serial (display);
keyboard->key_serial = wl_display_next_serial (display);
wl_resource_for_each (resource, l) wl_resource_for_each (resource, l)
{ {
wl_keyboard_send_key (resource, serial, time, key, state); wl_keyboard_send_key (resource, keyboard->key_serial, time, key, state);
} }
} }

View File

@ -68,6 +68,7 @@ struct _MetaWaylandKeyboard
MetaWaylandSurface *focus_surface; MetaWaylandSurface *focus_surface;
struct wl_listener focus_surface_listener; struct wl_listener focus_surface_listener;
uint32_t focus_serial; uint32_t focus_serial;
uint32_t key_serial;
MetaWaylandXkbInfo xkb_info; MetaWaylandXkbInfo xkb_info;
enum xkb_state_component mods_changed; enum xkb_state_component mods_changed;