index 086d0fd2..6b854503 100644 --- a/ivi-shell/ivi-layout.c +++ b/ivi-shell/ivi-layout.c @@ -153,7 +153,10 @@ ivi_view_destroy(struct ivi_layout_view *ivi_view) wl_list_remove(&ivi_view->pending_link); wl_list_remove(&ivi_view->order_link); - weston_view_destroy(ivi_view->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); free(ivi_view); } @@ -170,7 +173,13 @@ ivi_view_create(struct ivi_layout_layer *ivilayer, return NULL; } - ivi_view->view = weston_view_create(ivisurf->surface); + if (weston_surface_is_desktop_surface(ivisurf->surface)) { + ivi_view->view = weston_desktop_surface_create_view( + ivisurf->weston_desktop_surface); + } else { + ivi_view->view = weston_view_create(ivisurf->surface); + } + if (ivi_view->view == NULL) { weston_log("fails to allocate memory\n"); free(ivi_view);