libinput: Forward frame events to clients
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77353
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
diff --git a/src/input.c b/src/input.c
index 9c51468..2c799f4 100644
--- a/src/input.c
+++ b/src/input.c
@@ -287,6 +287,15 @@
}
static void
+default_grab_touch_frame(struct weston_touch_grab *grab)
+{
+ struct wl_resource *resource;
+
+ wl_resource_for_each(resource, &grab->touch->focus_resource_list)
+ wl_touch_send_frame(resource);
+}
+
+static void
default_grab_touch_cancel(struct weston_touch_grab *grab)
{
}
@@ -295,6 +304,7 @@
default_grab_touch_down,
default_grab_touch_up,
default_grab_touch_motion,
+ default_grab_touch_frame,
default_grab_touch_cancel,
};
@@ -1512,6 +1522,15 @@
}
}
+WL_EXPORT void
+notify_touch_frame(struct weston_seat *seat)
+{
+ struct weston_touch *touch = seat->touch;
+ struct weston_touch_grab *grab = touch->grab;
+
+ grab->interface->frame(grab);
+}
+
static void
pointer_cursor_surface_configure(struct weston_surface *es,
int32_t dx, int32_t dy)