aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-graphics/wayland/weston/0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/wayland/weston/0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch')
-rw-r--r--recipes-graphics/wayland/weston/0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/recipes-graphics/wayland/weston/0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch b/recipes-graphics/wayland/weston/0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch
new file mode 100644
index 00000000..e828493d
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch
@@ -0,0 +1,43 @@
+From 83b1873a62c991f15a698e4de50182e4cf452be0 Mon Sep 17 00:00:00 2001
+From: Koji Ohira <kk.ohira.koji@nttd-mse.com>
+Date: Thu, 24 Nov 2016 21:06:56 +0900
+Subject: [PATCH] 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: Koji Ohira <kk.ohira.koji@nttd-mse.com>
+---
+ ivi-shell/ivi-layout.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
+index 1139590..b14726e 100644
+--- a/ivi-shell/ivi-layout.c
++++ b/ivi-shell/ivi-layout.c
+@@ -960,6 +960,9 @@ commit_screen_list(struct ivi_layout *layout)
+ struct ivi_layout_layer *next = NULL;
+ struct ivi_layout_surface *ivisurf = 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,
+@@ -986,9 +989,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;
+--
+2.7.4
+