compositor: set data_device keyboard focus in seat_get_keyboard

Because seat_get_keyboard is called after initial
weston_surface_activate, wl_data_device_set_keyboard_focus
fails to send data offer for newly connected client due to
wl_seat.focus_resource being NULL.

This patch calls wl_data_device_set_keyboard_focus
in seat_get_keyboard, so it can send data offer for
newly created client (when wl_keyboard.resource_list
and wl_seat.focus_resource are properly set up).

https://bugs.freedesktop.org/show_bug.cgi?id=60617
dev
Rafal Mielniczuk 12 years ago committed by Kristian Høgsberg
parent 8764466c6b
commit db790573ad
  1. 1
      src/compositor.c

@ -2306,6 +2306,7 @@ seat_get_keyboard(struct wl_client *client, struct wl_resource *resource,
seat->seat.keyboard->focus->resource.client == client) { seat->seat.keyboard->focus->resource.client == client) {
wl_keyboard_set_focus(seat->seat.keyboard, wl_keyboard_set_focus(seat->seat.keyboard,
seat->seat.keyboard->focus); seat->seat.keyboard->focus);
wl_data_device_set_keyboard_focus(&seat->seat);
} }
} }

Loading…
Cancel
Save