[PATCH 5/5] compositor-wayland: Flush the display on commit

Jason Ekstrand jason at jlekstrand.net
Sat Oct 19 18:42:47 CEST 2013


This fixes the problem where animations will wait to play until input is
recieved.  In general, it also makes the backend far more responsive.

Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
---
 src/compositor-wayland.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/compositor-wayland.c b/src/compositor-wayland.c
index 37b0d05..a5ea50c 100644
--- a/src/compositor-wayland.c
+++ b/src/compositor-wayland.c
@@ -271,6 +271,8 @@ static void
 wayland_output_start_repaint_loop(struct weston_output *output_base)
 {
 	struct wayland_output *output = (struct wayland_output *) output_base;
+	struct wayland_compositor *wc =
+		(struct wayland_compositor *)output->base.compositor;
 	struct wl_callback *callback;
 
 	/* If this is the initial frame, we need to attach a buffer so that
@@ -287,6 +289,7 @@ wayland_output_start_repaint_loop(struct weston_output *output_base)
 	callback = wl_surface_frame(output->parent.surface);
 	wl_callback_add_listener(callback, &frame_listener, output);
 	wl_surface_commit(output->parent.surface);
+	wl_display_flush(wc->parent.wl_display);
 }
 
 static void
-- 
1.8.3.1



More information about the wayland-devel mailing list