summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafal Mielniczuk <rafal.mielniczuk2@gmail.com>2013-02-17 15:55:55 +0100
committerKristian Høgsberg <krh@bitplanet.net>2013-02-18 17:39:40 -0500
commit1d298b23201abca9519cb7d396bd4f34ed2a74e2 (patch)
treef9bb08d03e41e436a49f8841b35832121f1a693c
parent230641a0920366159a676719fc7a2cb6afe59f4b (diff)
downloadweston-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.c1
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);
}
}