diff options
author | Rafal Mielniczuk <rafal.mielniczuk2@gmail.com> | 2013-02-17 15:55:55 +0100 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2013-02-18 17:39:40 -0500 |
commit | 1d298b23201abca9519cb7d396bd4f34ed2a74e2 (patch) | |
tree | f9bb08d03e41e436a49f8841b35832121f1a693c | |
parent | 230641a0920366159a676719fc7a2cb6afe59f4b (diff) | |
download | weston-1d298b23201abca9519cb7d396bd4f34ed2a74e2.tar.gz |
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
-rw-r--r-- | src/compositor.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compositor.c b/src/compositor.c index 26fd41a2..27e18684 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -2145,6 +2145,7 @@ seat_get_keyboard(struct wl_client *client, struct wl_resource *resource, seat->seat.keyboard->focus->resource.client == client) { wl_keyboard_set_focus(seat->seat.keyboard, seat->seat.keyboard->focus); + wl_data_device_set_keyboard_focus(&seat->seat); } } |