aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/wlr_compositor.c10
1 files 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);