[PATCH weston] compositor-wayland: Set frame callback for Pixman

Daniel Stone daniels at collabora.com
Mon Nov 28 16:06:38 UTC 2016


Fixing 89c2f637b9, also set the output's frame_cb for the Pixman
renderer, not just GL. Fixes a segfault when using compositor-wayland
with --use-pixman.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Cc: Dima Ryazanov <dima at gmail.com>
---
 libweston/compositor-wayland.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c
index 7c814c8..d1e387d 100644
--- a/libweston/compositor-wayland.c
+++ b/libweston/compositor-wayland.c
@@ -593,7 +593,6 @@ wayland_output_repaint_pixman(struct weston_output *output_base,
 	struct wayland_output *output = to_wayland_output(output_base);
 	struct wayland_backend *b =
 		to_wayland_backend(output->base.compositor);
-	struct wl_callback *callback;
 	struct wayland_shm_buffer *sb;
 
 	if (output->frame) {
@@ -613,8 +612,8 @@ wayland_output_repaint_pixman(struct weston_output *output_base,
 
 	wayland_shm_buffer_attach(sb);
 
-	callback = wl_surface_frame(output->parent.surface);
-	wl_callback_add_listener(callback, &frame_listener, output);
+	output->frame_cb = wl_surface_frame(output->parent.surface);
+	wl_callback_add_listener(output->frame_cb, &frame_listener, output);
 	wl_surface_commit(output->parent.surface);
 	wl_display_flush(b->parent.wl_display);
 
-- 
2.9.3



More information about the wayland-devel mailing list