From 9fabf85a4465d722d2702097ade1bf6f718cbd3e Mon Sep 17 00:00:00 2001 From: Alexander Preisinger Date: Wed, 8 Jan 2014 22:16:41 +0100 Subject: wayland: properly empty output list --- video/out/wayland_common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index 616a9cc888..b0121d8ec7 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -658,17 +658,17 @@ static bool create_display (struct vo_wayland_state *wl) static void destroy_display (struct vo_wayland_state *wl) { - struct vo_wayland_output *output; + struct vo_wayland_output *output = NULL; + struct vo_wayland_output *tmp = NULL; - wl_list_for_each(output, &wl->display.output_list, link) { + wl_list_for_each_safe(output, tmp, &wl->display.output_list, link) { if (output && output->output) { wl_output_destroy(output->output); output->output = NULL; + wl_list_remove(&output->link); } } - wl_list_empty(&wl->display.output_list); - if (wl->display.shm) wl_shm_destroy(wl->display.shm); -- cgit v1.2.3