backend-wayland: Avoid iterating over un-intialized lists

As an in-flight resize call might cause a call to
wayland_output_destroy_shm_buffers() to go over a list of free_buffers
list. Just initialize the lists before attempting to create the parent
surface to avoid it.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
dev
Marius Vlad 4 years ago committed by Pekka Paalanen
parent d8b861766c
commit 529fae91f7
  1. 6
      libweston/backend-wayland/wayland.c

@ -1239,6 +1239,9 @@ wayland_output_enable(struct weston_output *base)
enum mode_status mode_status; enum mode_status mode_status;
int ret = 0; int ret = 0;
wl_list_init(&output->shm.buffers);
wl_list_init(&output->shm.free_buffers);
weston_log("Creating %dx%d wayland output at (%d, %d)\n", weston_log("Creating %dx%d wayland output at (%d, %d)\n",
output->base.current_mode->width, output->base.current_mode->width,
output->base.current_mode->height, output->base.current_mode->height,
@ -1250,9 +1253,6 @@ wayland_output_enable(struct weston_output *base)
if (ret < 0) if (ret < 0)
return -1; return -1;
wl_list_init(&output->shm.buffers);
wl_list_init(&output->shm.free_buffers);
if (b->use_pixman) { if (b->use_pixman) {
if (wayland_output_init_pixman_renderer(output) < 0) if (wayland_output_init_pixman_renderer(output) < 0)
goto err_output; goto err_output;

Loading…
Cancel
Save