On 10.05.2016 16:10, Pekka Paalanen wrote:
> From: Pekka Paalanen <pekka.paala...@collabora.co.uk>
> 
> a7af70436b7dccfacd736626d6719b3e751fd985 converted the surface list into
> a view list.
> 
> It looks like weston_surface::output's comment about surface list does
> not apply to view list. Still, many places assume weston_surface::output
> is not NULL when processing "visible" surfaces, e.g. those reachable via
> the view list.
> 
> The comment on weston_view::output is updated, but I could not figure
> out the actual relationship between that and being on the view list.
> 
> weston_view::link is documented to be in weston_compositor::view_list,
> and weston_compositor::view_list is documented to contain weston_views.
> 

It is always nice to see someone documenting the code. I've been banging
my head lately to understand the codebase, and the currently present
comments really help there.

With the issue noted below fixed, this patch is:

Reviewed-by: Armin Krezović <krezovic.ar...@gmail.com>

> Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>
> ---
>  src/compositor.h | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/src/compositor.h b/src/compositor.h
> index a95f05d..7851000 100644
> --- a/src/compositor.h
> +++ b/src/compositor.h
> @@ -754,7 +754,7 @@ struct weston_compositor {
>       struct wl_list output_list;
>       struct wl_list seat_list;
>       struct wl_list layer_list;
> -     struct wl_list view_list;
> +     struct wl_list view_list;       /* struct weston_view::link */
>       struct wl_list plane_list;
>       struct wl_list key_binding_list;
>       struct wl_list modifier_binding_list;
> @@ -890,7 +890,7 @@ struct weston_view {
>       struct wl_list surface_link;
>       struct wl_signal destroy_signal;
>  
> -     struct wl_list link;
> +     struct wl_list link;             /* weston_compositor::view_list */
>       struct weston_layer_entry layer_link; /* part of geometry */
>       struct weston_plane *plane;
>  
> @@ -951,7 +951,7 @@ struct weston_view {
>       /*
>        * Which output to vsync this surface to.
>        * Used to determine, whether to send or queue frame events.
> -      * Must be NULL, if 'link' is not in weston_compositor::surface_list.
> +      * Must be NULL, if 'link' is not in weston_compositor::view_list.

I couldn't find if anything checks for this, and view->output can only be null
if it got NULL from an output list. So I think the comment is redundant.

>        */
>       struct weston_output *output;
>  
> @@ -1021,7 +1021,6 @@ struct weston_surface {
>       /*
>        * Which output to vsync this surface to.
>        * Used to determine, whether to send or queue frame events.
> -      * Must be NULL, if 'link' is not in weston_compositor::surface_list.
>        */
>       struct weston_output *output;
>  
> 

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to