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
This commit is contained in:
Rafal Mielniczuk
2013-02-17 15:55:55 +01:00
committed by Kristian Høgsberg
parent 8764466c6b
commit db790573ad
+1
View File
@@ -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);
} }
} }