If ivilayer or ivisurf of ivi_view is made invisible in the commit_changes call, we have to damage the weston_view below this ivi_view. Otherwise content of this ivi_view will stay visible.
Signed-off-by: Emre Ucan <eu...@de.adit-jv.com> --- ivi-shell/ivi-layout.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c index 712cc30..64e4ead 100644 --- a/ivi-shell/ivi-layout.c +++ b/ivi-shell/ivi-layout.c @@ -681,8 +681,19 @@ commit_changes(struct ivi_layout *layout) * If the view's layer or surface is invisible, we do not need * to update its properties. */ - if (!ivilayer->prop.visibility || !ivisurf->prop.visibility) + if (!ivilayer->prop.visibility || !ivisurf->prop.visibility) { + /* + * If ivilayer or ivisurf of ivi_view is made invisible + * in this commit_changes call, we have to damage + * the weston_view below this ivi_view. Otherwise content + * of this ivi_view will stay visible. + */ + if ((ivilayer->prop.event_mask | ivisurf->prop.event_mask) && + IVI_NOTIFICATION_VISIBILITY) + weston_view_damage_below(ivi_view->view); + continue; + } update_prop(ivi_view); } -- 1.7.9.5 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel