summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-04-16 22:14:52 +0200
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-04-20 17:07:06 +0200
commitbb0882c5dad030f676e424265ebcd869bb3ff899 (patch)
treed95bb2d7ad6b5ac47427f73babe015b0ade02342 /meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch
parent97e5e76efa44f55ee9aaf3998bb3df38b829706c (diff)
Introduce meta-agl-profile-core and meta-agl-profile-graphics
Rework towards agl profiles. This change is part of a series of changes to create the AGL profiles. This set will mainly introduce the 'core' profile. It is setup to be a drop-in change, thus some files were kept in (dummy) locations for now. However, they'll be taken care of in the next changes in this series. The main target of the meta-agl-profile-core layer is to host: - a minimal, bootable image with network and package management enabled -- agl-image-boot - a minimal image with network and packagemanagement and the AGL APIs -- agl-image-minimal The layer meta-agl-profile-graphical is used as superset of these and includes support for egl+wayland+weston. All recipes concerning graphics were moved there. This is not a full profile as we still have to migrate some parts of meta-agl-demo in a follow-up changeset. The roadmap as discussed during the F2F session in Karlsruhe is: - week 16 : core profile and profiles w/o graphics - week 17 : graphical profiles - week 18 : final conversion of the demo image v2: moved agl-login-manager from -graphics to -core (see Jose's comment) v3: moved back after discussion - follow-up in separate changeset Change-Id: Idacb0d1274baac1f63f8d1b850d4b1104ac33918 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch')
-rw-r--r--meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch
new file mode 100644
index 000000000..449b7a0fd
--- /dev/null
+++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch
@@ -0,0 +1,66 @@
+index 67619b8f..e9ddf9a4 100644
+--- a/ivi-shell/ivi-shell.c
++++ b/ivi-shell/ivi-shell.c
+@@ -497,44 +497,53 @@ wet_shell_init(struct weston_compositor *compositor,
+ {
+ struct ivi_shell *shell;
+ struct ivi_shell_setting setting = { };
+- int retval = -1;
+
+ shell = zalloc(sizeof *shell);
+ if (shell == NULL)
+ return -1;
+
+ if (ivi_shell_setting_create(&setting, compositor, argc, argv) != 0)
+- return -1;
++ goto err_shell;
+
+ init_ivi_shell(compositor, shell, &setting);
++ /* TODO deinit_ivi_shell should be implemented, since init_ivi_shell is
++ * initializing multiple lists. */
+
+ shell->destroy_listener.notify = shell_destroy;
+ wl_signal_add(&compositor->destroy_signal, &shell->destroy_listener);
+
+ if (input_panel_setup(shell) < 0)
+- goto out_settings;
++ goto err_settings;
+
+ shell->text_backend = text_backend_init(compositor);
+ if (!shell->text_backend)
+- goto out_settings;
++ goto err_settings;
+
+ if (wl_global_create(compositor->wl_display,
+ &ivi_application_interface, 1,
+ shell, bind_ivi_application) == NULL)
+- goto out_settings;
++ goto err_text_backend;
+
+ ivi_layout_init_with_compositor(compositor);
++ /* TODO ivi_layout_destroy should be implemented, since multiple lists
++ * and signals are initialized.*/
+ shell_add_bindings(compositor, shell);
+
+ /* Call module_init of ivi-modules which are defined in weston.ini */
+ if (load_controller_modules(compositor, setting.ivi_module,
+ argc, argv) < 0)
+- goto out_settings;
++ goto err_text_backend;
++
++ return IVI_SUCCEEDED;
+
+- retval = 0;
++err_text_backend:
++ text_backend_destroy(shell->text_backend);
+
+-out_settings:
++err_settings:
+ free(setting.ivi_module);
+
+- return retval;
++err_shell:
++ free(shell);
++
++ return IVI_FAILED;
+ }