Skip to content
  • Carlos Garnacho's avatar
    backend: Use the most recent event time on replayed touch events · 704cae1d
    Carlos Garnacho authored and Jasper St. Pierre's avatar Jasper St. Pierre committed
    When a touch sequence is passively grabbed and later rejected, events
    will be replayed on the next client in propagation order, although those
    events (either transformed to pointer events or not) will contain the
    original timestamps, this will make grabs fail with InvalidTime if triggered
    from the replayed ButtonPress/TouchBegin handler.
    
    In order to work around this, store the most recent event time (presumably
    gotten from the XI_TouchEnd caused by the passive grab being rejected), and
    use that time on the events being replayed afterwards and grabs, so we don't
    possibly fail with InvalidTime if those events result in a compositor grab.
    704cae1d