compositor-wayland: Set frame callback for Pixman

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@collabora.com>
Reviewed-by: Dima Ryazanov <dima@gmail.com>
dev
Daniel Stone 8 years ago
parent 6a38ad740c
commit 21fac60838
  1. 5
      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_output *output = to_wayland_output(output_base);
struct wayland_backend *b = struct wayland_backend *b =
to_wayland_backend(output->base.compositor); to_wayland_backend(output->base.compositor);
struct wl_callback *callback;
struct wayland_shm_buffer *sb; struct wayland_shm_buffer *sb;
if (output->frame) { if (output->frame) {
@ -613,8 +612,8 @@ wayland_output_repaint_pixman(struct weston_output *output_base,
wayland_shm_buffer_attach(sb); wayland_shm_buffer_attach(sb);
callback = wl_surface_frame(output->parent.surface); output->frame_cb = wl_surface_frame(output->parent.surface);
wl_callback_add_listener(callback, &frame_listener, output); wl_callback_add_listener(output->frame_cb, &frame_listener, output);
wl_surface_commit(output->parent.surface); wl_surface_commit(output->parent.surface);
wl_display_flush(b->parent.wl_display); wl_display_flush(b->parent.wl_display);

Loading…
Cancel
Save