seat: allow clients to bind to seat multiple times

This lets clients bind to a seat multiple times by re-using the existing
wlr_seat_client whenever a duplicate request happens.
Previously, an independant wlr_seat_client would be created and only
events from one would be processed.

Fixes #1023.
This commit is contained in:
Dominique Martinet 2018-06-04 08:31:27 +09:00
parent 1c5c8652c5
commit 51b9883ea0
3 changed files with 53 additions and 29 deletions

View file

@ -13,11 +13,11 @@
* managed by wlr_seat; some may be NULL.
*/
struct wlr_seat_client {
struct wl_resource *wl_resource;
struct wl_client *client;
struct wlr_seat *seat;
// lists of wl_resource
struct wl_list wl_resources;
struct wl_list pointers;
struct wl_list keyboards;
struct wl_list touches;