From b61d5922f1d0910a848deb100570ad8587aea38d Mon Sep 17 00:00:00 2001 From: Kirill Primak Date: Sat, 3 Jun 2023 15:47:01 +0300 Subject: [PATCH] compositor: notify subsurfaces about a commit in the rendering order This is the default order used across wlroots unless the reversed order specifically is required (e.g. in wlr_surface_surface_at()). --- types/wlr_compositor.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/types/wlr_compositor.c b/types/wlr_compositor.c index 4e32f959..689fa0da 100644 --- a/types/wlr_compositor.c +++ b/types/wlr_compositor.c @@ -470,18 +470,16 @@ static void surface_commit_state(struct wlr_surface *surface, // commit subsurface order struct wlr_subsurface *subsurface; - wl_list_for_each_reverse(subsurface, &surface->pending.subsurfaces_above, - pending.link) { + wl_list_for_each(subsurface, &surface->pending.subsurfaces_below, pending.link) { wl_list_remove(&subsurface->current.link); - wl_list_insert(&surface->current.subsurfaces_above, + wl_list_insert(surface->current.subsurfaces_below.prev, &subsurface->current.link); subsurface_handle_parent_commit(subsurface); } - wl_list_for_each_reverse(subsurface, &surface->pending.subsurfaces_below, - pending.link) { + wl_list_for_each(subsurface, &surface->pending.subsurfaces_above, pending.link) { wl_list_remove(&subsurface->current.link); - wl_list_insert(&surface->current.subsurfaces_below, + wl_list_insert(surface->current.subsurfaces_above.prev, &subsurface->current.link); subsurface_handle_parent_commit(subsurface);