[PATCH weston v2] ivi-shell: bugfix, list of surfaces on a layer are cumulated when set render order is called several time in one commitchanges.

Ucan, Emre (ADITG/SW1) eucan at de.adit-jv.com
Wed Aug 19 04:25:01 PDT 2015


The final list of surfaces of set render order shall be applied. So link
of surfaces and list of surfaces in a layer shall be initialized. And
then the order of surfaces shall be restructured.

Use existing clear_surface_pending_list function to clear the list.

Signed-off-by: Emre Ucan <eucan at de.adit-jv.com>
---
 ivi-shell/ivi-layout.c |   12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
index 95b1671..d412069 100644
--- a/ivi-shell/ivi-layout.c
+++ b/ivi-shell/ivi-layout.c
@@ -2082,17 +2082,7 @@ ivi_layout_layer_set_render_order(struct ivi_layout_layer *ivilayer,
 		return IVI_FAILED;
 	}
 
-	if (pSurface == NULL) {
-		wl_list_for_each_safe(ivisurf, next, &ivilayer->pending.surface_list, pending.link) {
-			if (!wl_list_empty(&ivisurf->pending.link)) {
-				wl_list_remove(&ivisurf->pending.link);
-			}
-
-			wl_list_init(&ivisurf->pending.link);
-		}
-		ivilayer->event_mask |= IVI_NOTIFICATION_REMOVE;
-		return IVI_SUCCEEDED;
-	}
+	clear_surface_pending_list(ivilayer);
 
 	for (i = 0; i < number; i++) {
 		id_surface = &pSurface[i]->id_surface;
-- 
1.7.9.5



More information about the wayland-devel mailing list