const char *app_id =
weston_desktop_surface_get_app_id(surface->dsurface);
- if (!app_id) {
- *role = IVI_SURFACE_ROLE_NONE;
- return;
- }
-
role_pending_list = &ivi->popup_pending_apps;
wl_list_for_each(p_popup, role_pending_list, link) {
if (!strcmp(app_id, p_popup->app_id)) {
}
}
-static void
-ivi_shell_destroy_views_on_fullscreen_layer(struct ivi_compositor *ivi)
-{
- struct ivi_output *ivi_output;
-
- wl_list_for_each(ivi_output, &ivi->outputs, link)
- weston_surface_destroy(ivi_output->fullscreen_view.fs->view->surface);
-}
-
void
ivi_shell_finalize(struct ivi_compositor *ivi)
{
+ struct ivi_output *output;
+
ivi_shell_destroy_views_on_layer(&ivi->hidden);
weston_layer_fini(&ivi->hidden);
ivi_shell_destroy_views_on_layer(&ivi->popup);
weston_layer_fini(&ivi->popup);
- ivi_shell_destroy_views_on_fullscreen_layer(ivi);
+ wl_list_for_each(output, &ivi->outputs, link) {
+ if (output->fullscreen_view.fs->view) {
+ weston_surface_destroy(output->fullscreen_view.fs->view->surface);
+ output->fullscreen_view.fs->view = NULL;
+ }
+ }
weston_layer_fini(&ivi->fullscreen);
}