[PATCH] compositor: page flip away from a client buffer if it's destroyed

Ander Conselvan de Oliveira ander.conselvan.de.oliveira at intel.com
Wed Oct 26 06:48:45 PDT 2011


If the current or pending scanout buffer is destroyed, the client frame
will remain being displayed until something else causes a repaint to be
scheduled.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
---
 compositor/compositor.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/compositor/compositor.c b/compositor/compositor.c
index 772b0bb..e4b8d92 100644
--- a/compositor/compositor.c
+++ b/compositor/compositor.c
@@ -220,6 +220,9 @@ output_handle_scanout_buffer_destroy(struct wl_listener *listener,
 			     scanout_buffer_destroy_listener);
 
 	output->scanout_buffer = NULL;
+
+	if (!output->pending_scanout_buffer)
+		wlsc_compositor_schedule_repaint(output->compositor);
 }
 
 static void
@@ -232,6 +235,8 @@ output_handle_pending_scanout_buffer_destroy(struct wl_listener *listener,
 			     pending_scanout_buffer_destroy_listener);
 
 	output->pending_scanout_buffer = NULL;
+
+	wlsc_compositor_schedule_repaint(output->compositor);
 }
 
 
-- 
1.7.4.1



More information about the wayland-devel mailing list