Update wayland-ivi-extension to 1.11.0
[AGL/meta-agl-demo.git] / recipes-graphics / wayland / weston / 0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch
1 From 83b1873a62c991f15a698e4de50182e4cf452be0 Mon Sep 17 00:00:00 2001
2 From: Koji Ohira <kk.ohira.koji@nttd-mse.com>
3 Date: Thu, 24 Nov 2016 21:06:56 +0900
4 Subject: [PATCH] ivi-shell: fix layout_layer.view_list is not initilized per a
5  screen.
6
7 This is potential bug when it supports several screens. If view_list is
8 initilized here, the views, which are set by the previous screen, are
9 cleared. So View list shall be initilized in front of wl_list_for_each
10 of all screens.
11
12 Signed-off-by: Koji Ohira <kk.ohira.koji@nttd-mse.com>
13 ---
14  ivi-shell/ivi-layout.c | 6 +++---
15  1 file changed, 3 insertions(+), 3 deletions(-)
16
17 diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
18 index 1139590..b14726e 100644
19 --- a/ivi-shell/ivi-layout.c
20 +++ b/ivi-shell/ivi-layout.c
21 @@ -960,6 +960,9 @@ commit_screen_list(struct ivi_layout *layout)
22         struct ivi_layout_layer   *next     = NULL;
23         struct ivi_layout_surface *ivisurf  = NULL;
24  
25 +       /* Clear view list of layout ivi_layer */
26 +       wl_list_init(&layout->layout_layer.view_list.link);
27 +
28         wl_list_for_each(iviscrn, &layout->screen_list, link) {
29                 if (iviscrn->order.dirty) {
30                         wl_list_for_each_safe(ivilayer, next,
31 @@ -986,9 +989,6 @@ commit_screen_list(struct ivi_layout *layout)
32                         iviscrn->order.dirty = 0;
33                 }
34  
35 -               /* Clear view list of layout ivi_layer */
36 -               wl_list_init(&layout->layout_layer.view_list.link);
37 -
38                 wl_list_for_each(ivilayer, &iviscrn->order.layer_list, order.link) {
39                         if (ivilayer->prop.visibility == false)
40                                 continue;
41 -- 
42 2.7.4
43