wayland/touch: Store touch serials more persistently

Right now we store touch serials on their according MetaWaylandTouchInfo entries. These entries are gone as soon as the touchpoint ended though, and it's not unlikely that clients will respond to that touch-end event after we removed the touchpoint.

In this case we currently can't match the client provided serial to any of our known touch sequences, which causes xdg_popup grabs that get requested shortly after the touch-end to fail.

Let's be a bit more gentle on clients here and store the latest touch-down serial on the MetaWaylandTouch, so that it continues to be around after the touch-end and we can match the serial of the xdg_popup_grab() as expected.

Goes with gtk!5782 on the gtk side.

Edited by Jonas Dreßler

Merge request reports