[PATCH weston 4/4] ivi-shell: fix the layer assignment change from one screen to another

Emre Ucan eucan at de.adit-jv.com
Fri Jan 26 14:04:59 UTC 2018


if the layer is in order of some screen we need to remove it
from there and mark the screen order as dirty so it will be removed
in commit_screen_list call later
layer should only be assigned to one screen at a time

Signed-off-by: Eugen Friedrich <efriedrich at de.adit-jv.com>
Signed-off-by: Emre Ucan <eucan at de.adit-jv.com>
---
 ivi-shell/ivi-layout.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
index 4799c25..976a426 100644
--- a/ivi-shell/ivi-layout.c
+++ b/ivi-shell/ivi-layout.c
@@ -1535,6 +1535,11 @@ ivi_layout_screen_add_layer(struct weston_output *output,
 
 	iviscrn = get_screen_from_output(output);
 
+	/*if layer is already assigned to screen make order of it dirty
+	 * we are going to remove it (in commit_screen_list)*/
+	if (addlayer->on_screen)
+		addlayer->on_screen->order.dirty = 1;
+
 	wl_list_remove(&addlayer->pending.link);
 	wl_list_insert(&iviscrn->pending.layer_list, &addlayer->pending.link);
 
-- 
2.7.4



More information about the wayland-devel mailing list