From f67ced704936562eba6e43455739611bbdd7b599 Mon Sep 17 00:00:00 2001 From: Toshi Umemura Date: Mon, 19 Dec 2016 17:54:11 +0900 Subject: ivi-shell multi screen support This patch enables ivi-shell to manage multi screen. This solves SPEC-360 ivi-shell fails to manage two screens. CES2017 cluster demo also requires multi screen support. Bug-AGL: SPEC-360 Change-Id: Ie0f71855af70de28068cb9deee1a6c415eaea88e Signed-off-by: ynakamura Signed-off-by: Jan-Simon Moeller --- ...ix-layout_layer.view_list-is-not-initiliz.patch | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 recipes-graphics/wayland/weston/0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch (limited to 'recipes-graphics/wayland/weston/0003-ivi-shell-fix-layout_layer.view_list-is-not-initiliz.patch') 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 +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 +--- + 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 + -- cgit 1.2.3-korg