1 index 086d0fd2..6b854503 100644
2 --- a/ivi-shell/ivi-layout.c
3 +++ b/ivi-shell/ivi-layout.c
4 @@ -153,7 +153,10 @@ ivi_view_destroy(struct ivi_layout_view *ivi_view)
5 wl_list_remove(&ivi_view->pending_link);
6 wl_list_remove(&ivi_view->order_link);
8 - weston_view_destroy(ivi_view->view);
9 + if (weston_surface_is_desktop_surface(ivi_view->ivisurf->surface))
10 + weston_desktop_surface_unlink_view(ivi_view->view);
12 + weston_view_destroy(ivi_view->view);
16 @@ -170,7 +173,13 @@ ivi_view_create(struct ivi_layout_layer *ivilayer,
20 - ivi_view->view = weston_view_create(ivisurf->surface);
21 + if (weston_surface_is_desktop_surface(ivisurf->surface)) {
22 + ivi_view->view = weston_desktop_surface_create_view(
23 + ivisurf->weston_desktop_surface);
25 + ivi_view->view = weston_view_create(ivisurf->surface);
28 if (ivi_view->view == NULL) {
29 weston_log("fails to allocate memory\n");