ivi-shell: remove surface_destroy_listener

Since the surface_destroy_listener is only registered for ivi-shell
applications, it should only be removed for ivi-shell applications.

Signed-off-by: Michael Teyfel <mteyfel@de.adit-jv.com>
This commit is contained in:
Michael Teyfel 2017-10-17 11:10:18 +02:00 committed by Daniel Stone
parent 62d6d56a83
commit ed28f020b8

View File

@ -156,6 +156,10 @@ layout_surface_cleanup(struct ivi_shell_surface *ivisurf)
{ {
assert(ivisurf->layout_surface != NULL); assert(ivisurf->layout_surface != NULL);
/* destroy weston_surface destroy signal. */
if (!ivisurf->layout_surface->weston_desktop_surface)
wl_list_remove(&ivisurf->surface_destroy_listener.link);
ivi_layout_surface_destroy(ivisurf->layout_surface); ivi_layout_surface_destroy(ivisurf->layout_surface);
ivisurf->layout_surface = NULL; ivisurf->layout_surface = NULL;
@ -163,9 +167,6 @@ layout_surface_cleanup(struct ivi_shell_surface *ivisurf)
ivisurf->surface->committed_private = NULL; ivisurf->surface->committed_private = NULL;
weston_surface_set_label_func(ivisurf->surface, NULL); weston_surface_set_label_func(ivisurf->surface, NULL);
ivisurf->surface = NULL; ivisurf->surface = NULL;
// destroy weston_surface destroy signal.
wl_list_remove(&ivisurf->surface_destroy_listener.link);
} }
/* /*