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

Reply via email to