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 <m.olbrich@pengutronix.de>
This commit is contained in:
parent
640109cf5e
commit
6ef2d45a2d
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user