summaryrefslogtreecommitdiff
path: root/src/wayland/meta-wayland-seat.c
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2016-01-26 13:31:48 +0100
committerCarlos Garnacho <carlosg@gnome.org>2016-05-03 18:17:01 +0200
commit2cec7ac5962b5e7b6c64cb04c4d0099be2746dfb (patch)
tree9e7c6c12236f635e8bd41e264cb0ee6dfae1c38e /src/wayland/meta-wayland-seat.c
parent806f930a161415366e44f42df667a07d453add74 (diff)
downloadmutter-2cec7ac5962b5e7b6c64cb04c4d0099be2746dfb.tar.gz
wayland: Ensure each MetaWaylandSeat gets its MetaWaylandTabletSeat
Those need to be created in advance in order to handle properly the events, even on lack of requesting clients.
Diffstat (limited to 'src/wayland/meta-wayland-seat.c')
-rw-r--r--src/wayland/meta-wayland-seat.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wayland/meta-wayland-seat.c b/src/wayland/meta-wayland-seat.c
index 367c1f1c8..9a7fa2e92 100644
--- a/src/wayland/meta-wayland-seat.c
+++ b/src/wayland/meta-wayland-seat.c
@@ -205,7 +205,8 @@ meta_wayland_seat_devices_updated (ClutterDeviceManager *device_manager,
}
static MetaWaylandSeat *
-meta_wayland_seat_new (struct wl_display *display)
+meta_wayland_seat_new (MetaWaylandCompositor *compositor,
+ struct wl_display *display)
{
MetaWaylandSeat *seat = g_new0 (MetaWaylandSeat, 1);
ClutterDeviceManager *device_manager;
@@ -224,13 +225,16 @@ meta_wayland_seat_new (struct wl_display *display)
wl_global_create (display, &wl_seat_interface, META_WL_SEAT_VERSION, seat, bind_seat);
+ meta_wayland_tablet_manager_ensure_seat (compositor->tablet_manager, seat);
+
return seat;
}
void
meta_wayland_seat_init (MetaWaylandCompositor *compositor)
{
- compositor->seat = meta_wayland_seat_new (compositor->wayland_display);
+ compositor->seat = meta_wayland_seat_new (compositor,
+ compositor->wayland_display);
}
void