diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c index b0a2a2b9..a889afdb 100644 --- a/ivi-shell/ivi-shell.c +++ b/ivi-shell/ivi-shell.c @@ -664,10 +664,14 @@ wet_shell_init(struct weston_compositor *compositor, if (!shell->text_backend) goto err_shell; + shell->desktop = weston_desktop_create(compositor, &shell_desktop_api, shell); + if (!shell->desktop) + goto err_text_backend; + if (wl_global_create(compositor->wl_display, &ivi_application_interface, 1, shell, bind_ivi_application) == NULL) - goto err_text_backend; + goto err_desktop; ivi_layout_init_with_compositor(compositor); /* TODO ivi_layout_destroy should be implemented, since multiple lists @@ -676,6 +680,9 @@ wet_shell_init(struct weston_compositor *compositor, return IVI_SUCCEEDED; +err_desktop: + weston_desktop_destroy(shell->desktop); + err_text_backend: text_backend_destroy(shell->text_backend);