Skip to content

tests/clutter/event-delivery: Avoid race with stage update

Robert Mader requested to merge rmader/mutter:mr3174-follow-up into main

clutter_actor_destroy() queues a stage update. Under certain circumstances - i.e. when run in a very slow container - this can race with the stage update triggered by the following clutter_virtual_input_device_notify_button(), occasionally resulting in wait_stage_updated() to return before the on_event_return_propagate() callbacks ran, making the test fail.

This notably became more common since

8f27ebf8 (clutter/frame-clock: Start next update ASAP after idle period)

landed.

Thus wait for a stage update to happen after clutter_actor_destroy(), preventing the race.

Fixes: f6da583d (tests/clutter/event-delivery: Add tests for implicit grabbing)


cc @daenzer

Merge request reports