diff --git a/libweston/compositor.c b/libweston/compositor.c index 72a2905e..47f7edfd 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -2723,6 +2723,7 @@ weston_output_repaint(struct weston_output *output, void *repaint_data) weston_output_update_matrix(output); r = output->repaint(output, &output_damage, repaint_data); + wl_signal_emit(&output->frame_signal, output); pixman_region32_fini(&output_damage); diff --git a/libweston/pixman-renderer.c b/libweston/pixman-renderer.c index 378845d0..f73be2d2 100644 --- a/libweston/pixman-renderer.c +++ b/libweston/pixman-renderer.c @@ -580,7 +580,6 @@ pixman_renderer_repaint_output(struct weston_output *output, pixman_region32_fini(&hw_damage); pixman_region32_copy(&output->previous_damage, output_damage); - wl_signal_emit(&output->frame_signal, output); /* Actual flip should be done by caller */ } diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c index 14c5f8b1..d1089046 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c @@ -1474,7 +1474,6 @@ gl_renderer_repaint_output(struct weston_output *output, draw_output_borders(output, border_status); pixman_region32_copy(&output->previous_damage, output_damage); - wl_signal_emit(&output->frame_signal, output); go->end_render_sync = create_render_sync(gr);