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

Reply via email to