diff --git a/src/backends/meta-stage-view.c b/src/backends/meta-stage-view.c index 0808680c1..7de2613fa 100644 --- a/src/backends/meta-stage-view.c +++ b/src/backends/meta-stage-view.c @@ -218,8 +218,12 @@ meta_stage_view_perform_fake_swap (MetaStageView *view, }; g_warn_if_fail (priv->notify_presented_handle_id == 0); + + /* The priority needs to be higher than the source dispatching the frame + * clock, to avoid racing with it. + */ priv->notify_presented_handle_id = - g_idle_add_full (G_PRIORITY_DEFAULT, + g_idle_add_full (G_PRIORITY_HIGH, notify_presented_idle, closure, g_free); }