gdk/wayland: Track last touch serial on seat
I was wondering why tokens submitted by a GTK3 based launchee would always have a 0 serial on a touch based device (and would thus be rejected by the compositor).
Since the touch data is released on touch up
_gdk_wayland_seat_get_last_implicit_grab_serial
will return 0 serial
most of the time for touch only devices. This breaks xdg activation as
the compositor will reject tokens that have a 0 serial set via
xdg_activation_token_v1_set_serial
.
Avoid that by tracking touch serials on the seat itself too.
We only use that if no other touch serial was picked to make sure we dont break the sequence <-> serial relation.
This unbreaks the phosh's splash screen timing out on recent GTK3.
Edited by Guido Günther