diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c index f58e6b3e0..96414f678 100644 --- a/src/backends/native/meta-renderer-native.c +++ b/src/backends/native/meta-renderer-native.c @@ -1900,6 +1900,12 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen, CoglFrameInfo *frame_info; gboolean egl_context_changed = FALSE; + /* + * Wait for the flip callback before continuing, as we might have started the + * animation earlier due to the animation being driven by some other monitor. + */ + wait_for_pending_flips (onscreen); + frame_info = g_queue_peek_tail (&onscreen->pending_frame_infos); frame_info->global_frame_counter = renderer_native->frame_counter; @@ -1909,12 +1915,6 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen, rectangles, n_rectangles); - /* - * Wait for the flip callback before continuing, as we might have started the - * animation earlier due to the animation being driven by some other monitor. - */ - wait_for_pending_flips (onscreen); - renderer_gpu_data = meta_renderer_native_get_gpu_data (renderer_native, render_gpu); switch (renderer_gpu_data->mode)