Commit 6ef2d45a authored by Michael Olbrich's avatar Michael Olbrich Committed by Daniel Stone

ivi-layout: unmap desktop surfaces in ivi_view_destroy()

weston_desktop_surface_unlink_view() does now call weston_view_destroy() so the
weston_view is not destroyed here. This is a problem because the view remains in
the weston_layer view_list. If ivi_view_destroy() is called from
ivi_layout_surface_destroy() and the view list is rebuilt in the 'removed'
signal, then the list gets corrupted when the view is destroyed immediately
afterwards.
Fix this by calling weston_view_destroy() unconditionally for all view.
Signed-off-by: Michael Olbrich's avatarMichael Olbrich <m.olbrich@pengutronix.de>
parent 640109cf
......@@ -155,8 +155,7 @@ ivi_view_destroy(struct ivi_layout_view *ivi_view)
if (weston_surface_is_desktop_surface(ivi_view->ivisurf->surface))
weston_desktop_surface_unlink_view(ivi_view->view);
else
weston_view_destroy(ivi_view->view);
weston_view_destroy(ivi_view->view);
free(ivi_view);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment