[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.

Tanibata, Nobuhiko (ADITJ/SWG) ntanibata at jp.adit-jv.com
Wed Aug 19 22:45:07 PDT 2015


Hi Ucan-san,

I reviewed and tested it. Additionally, we shall fix not only this one but also logic of layer list in screen similarly later as well.

Tested-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA at xddp.denso.co.jp>
Reviewed-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA at xddp.denso.co.jp>

BR,
Nobuhiko Tanibata

> -----Original Message-----
> From: Ucan, Emre (ADITG/SW1)
> Sent: Wednesday, August 19, 2015 8:25 PM
> To: wayland-devel at lists.freedesktop.org
> Cc: Ucan, Emre (ADITG/SW1); Tanibata, Nobuhiko (ADITJ/SWG)
> Subject: [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.
> 
> 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