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_unmap() first to remove the view from the view_list.
Signed-off-by: Michael Olbrich email@example.com
So, I'm not quite sure if this is the correct fix. Maybe the view should actually be destroyed directly in weston_desktop_surface_unlink_view() but I don't know enough about that code to decide this.