1 index 67619b8f..e9ddf9a4 100644
2 --- a/ivi-shell/ivi-shell.c
3 +++ b/ivi-shell/ivi-shell.c
4 @@ -497,44 +497,53 @@ wet_shell_init(struct weston_compositor *compositor,
6 struct ivi_shell *shell;
7 struct ivi_shell_setting setting = { };
10 shell = zalloc(sizeof *shell);
14 if (ivi_shell_setting_create(&setting, compositor, argc, argv) != 0)
18 init_ivi_shell(compositor, shell, &setting);
19 + /* TODO deinit_ivi_shell should be implemented, since init_ivi_shell is
20 + * initializing multiple lists. */
22 shell->destroy_listener.notify = shell_destroy;
23 wl_signal_add(&compositor->destroy_signal, &shell->destroy_listener);
25 if (input_panel_setup(shell) < 0)
29 shell->text_backend = text_backend_init(compositor);
30 if (!shell->text_backend)
34 if (wl_global_create(compositor->wl_display,
35 &ivi_application_interface, 1,
36 shell, bind_ivi_application) == NULL)
38 + goto err_text_backend;
40 ivi_layout_init_with_compositor(compositor);
41 + /* TODO ivi_layout_destroy should be implemented, since multiple lists
42 + * and signals are initialized.*/
43 shell_add_bindings(compositor, shell);
45 /* Call module_init of ivi-modules which are defined in weston.ini */
46 if (load_controller_modules(compositor, setting.ivi_module,
49 + goto err_text_backend;
51 + return IVI_SUCCEEDED;
55 + text_backend_destroy(shell->text_backend);
59 free(setting.ivi_module);