diff options
author | Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> | 2015-11-25 23:36:57 +0900 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2015-11-27 15:03:29 +0200 |
commit | fbfa8f21f91dfd1a1d85f9c6b039fe893a36e69b (patch) | |
tree | 7a0dae7157a6a942f73830d3e7b5441016abeeca | |
parent | 77b0ee18a2e02e6084ece3d04914f7e8f4c6dcb9 (diff) |
ivi-shell: fix layout_layer.view_list is not initilized per a screen.
This is potential bug when it supports several screens. If view_list is
initilized here, the views, which are set by the previous screen, are
cleared. So View list shall be initilized in front of wl_list_for_each
of all screens.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-rw-r--r-- | ivi-shell/ivi-layout.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c index 1a75348d..732a557e 100644 --- a/ivi-shell/ivi-layout.c +++ b/ivi-shell/ivi-layout.c @@ -805,6 +805,9 @@ commit_screen_list(struct ivi_layout *layout) struct ivi_layout_surface *ivisurf = NULL; struct weston_view *tmpview = NULL; + /* Clear view list of layout ivi_layer */ + wl_list_init(&layout->layout_layer.view_list.link); + wl_list_for_each(iviscrn, &layout->screen_list, link) { if (iviscrn->order.dirty) { wl_list_for_each_safe(ivilayer, next, @@ -831,9 +834,6 @@ commit_screen_list(struct ivi_layout *layout) iviscrn->order.dirty = 0; } - /* Clear view list of layout ivi_layer */ - wl_list_init(&layout->layout_layer.view_list.link); - wl_list_for_each(ivilayer, &iviscrn->order.layer_list, order.link) { if (ivilayer->prop.visibility == false) continue; |