From 0109f1e319765acf518569c0fc5d6c9db9815221 Mon Sep 17 00:00:00 2001 From: Nobuhiko Tanibata Date: Thu, 26 Dec 2013 13:55:30 +0900 Subject: [PATCH] weston-ivi-shell: Bug fix. surface info in ivi-controller is remained even if ivisurface is removed by weston-layout. Signed-off-by: Nobuhiko Tanibata --- weston-ivi-shell/src/ivi-controller.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c index 5b74cbe..26dfa0a 100755 --- a/weston-ivi-shell/src/ivi-controller.c +++ b/weston-ivi-shell/src/ivi-controller.c @@ -1398,8 +1398,21 @@ surface_event_remove(struct weston_layout_surface *layout_surface, { struct ivishell *shell = userdata; struct ivicontroller_surface *ctrlsurf = NULL; + struct ivisurface *ivisurf = NULL; + struct ivisurface *next = NULL; uint32_t id_surface = 0; + wl_list_for_each_safe(ivisurf, next, &shell->list_surface, link) { + if (layout_surface != ivisurf->layout_surface) { + continue; + } + + wl_list_remove(&ivisurf->link); + free(ivisurf); + ivisurf = NULL; + break; + } + id_surface = weston_layout_getIdOfSurface(layout_surface); wl_list_for_each(ctrlsurf, &shell->list_controller_surface, link) { -- 2.7.4