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