diff options
author | Harsha M M <harsha.manjulamallikarjun@in.bosch.com> | 2018-08-03 12:41:59 +0530 |
---|---|---|
committer | Harsha M M <harsha.manjulamallikarjun@in.bosch.com> | 2018-08-07 16:10:53 +0530 |
commit | ae35f9608155074a6aef4a39a4c7df21738b72a6 (patch) | |
tree | 345f4c47c38514ec458556f8ae655933ab7cdd23 | |
parent | f7795d2a347dc3797a706971d759111e8e68be18 (diff) | |
download | wayland-ivi-extension-ae35f9608155074a6aef4a39a4c7df21738b72a6.tar.gz |
ivi-controller: remove all installed signals during de-init
During de-init ensure removal of all the added signals.
Otherwise a dongling pointer is left behind which will
affect other plugins.
Signed-off-by: Harsha M M <harsha.manjulamallikarjun@in.bosch.com>
ivi-controller: remove all installated signals during de-init
Signed-off-by: Harsha M M <harsha.manjulamallikarjun@in.bosch.com>
-rw-r--r-- | weston-ivi-shell/src/ivi-controller.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c index 04ed4d9..9220455 100644 --- a/weston-ivi-shell/src/ivi-controller.c +++ b/weston-ivi-shell/src/ivi-controller.c @@ -2023,7 +2023,18 @@ ivi_shell_destroy(struct wl_listener *listener, void *data) struct ivishell *shell = wl_container_of(listener, shell, destroy_listener); + wl_list_remove(&shell->destroy_listener.link); + + wl_list_remove(&shell->output_created.link); wl_list_remove(&shell->output_destroyed.link); + wl_list_remove(&shell->output_resized.link); + + wl_list_remove(&shell->surface_configured.link); + wl_list_remove(&shell->surface_removed.link); + wl_list_remove(&shell->surface_created.link); + + wl_list_remove(&shell->layer_removed.link); + wl_list_remove(&shell->layer_created.link); wl_list_for_each_safe(ivisurf, ivisurf_next, &shell->list_surface, link) { |