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, &surface->subsurface_list, parent_link) { if (sub->surface != surface) weston_subsurface_parent_commit(sub, 0); } + + weston_surface_commit(surface); } static void -- 2.16.2 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel