On Tue, 6 Mar 2018 17:57:15 +0100
Philipp Kerling wrote:
> Committing the root surface triggers a commit of the xdg_surface state,
> which might require the subsurface state already being applied (e.g.
> when an xdg_toplevel needs to follow size constraints, the subsurfaces
> must be in the right position and size at the time this is verified).
> ---
> libweston/compositor.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libweston/compositor.c b/libweston/compositor.c
> index aec937bb..8589e390 100644
> --- a/libweston/compositor.c
> +++ b/libweston/compositor.c
> @@ -3191,12 +3191,12 @@ surface_commit(struct wl_client *client, struct
> wl_resource *resource)
> return;
> }
>
> - weston_surface_commit(surface);
> -
> wl_list_for_each(sub, >subsurface_list, parent_link) {
> if (sub->surface != surface)
> weston_subsurface_parent_commit(sub, 0);
> }
> +
> + weston_surface_commit(surface);
> }
>
> static void
Hi,
I found this while going through my old unanswered emails. Your
rationale is quite sound.
I worry that this might break things like wl_subsurface.set_position
using the old vs. new parent surface origin as the reference point.
wl_surface.commit specification has some related wording about that.
OTOH, wl_subsurface.set_position is part of the parent state, so maybe
it doesn't matter. This would take code inspection to see if there is
any dependency between parent and sub-surface states.
If you are still interested, you can send this as a Gitlab merge
request.
https://gitlab.freedesktop.org/wayland/weston/blob/master/CONTRIBUTING.md
Thanks,
pq
pgpCLzph9iFbU.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel