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 <efriedr...@de.adit-jv.com>
Signed-off-by: Emre Ucan <eu...@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

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to