From 3162766eef14be71789478b0984bc2c1802832b2 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 1 Jun 2021 12:24:12 +0200 Subject: [PATCH] Iterate over subsurfaces below the parent surface Update for the breaking change in [1]. [1]: https://github.com/swaywm/wlroots/pull/2948 --- sway/tree/view.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sway/tree/view.c b/sway/tree/view.c index 039d8bb1..33d16e29 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -1037,7 +1037,10 @@ static void view_child_handle_surface_destroy(struct wl_listener *listener, static void view_init_subsurfaces(struct sway_view *view, struct wlr_surface *surface) { struct wlr_subsurface *subsurface; - wl_list_for_each(subsurface, &surface->subsurfaces, parent_link) { + wl_list_for_each(subsurface, &surface->subsurfaces_below, parent_link) { + view_subsurface_create(view, subsurface); + } + wl_list_for_each(subsurface, &surface->subsurfaces_above, parent_link) { view_subsurface_create(view, subsurface); } } @@ -1045,7 +1048,10 @@ static void view_init_subsurfaces(struct sway_view *view, static void view_child_init_subsurfaces(struct sway_view_child *view_child, struct wlr_surface *surface) { struct wlr_subsurface *subsurface; - wl_list_for_each(subsurface, &surface->subsurfaces, parent_link) { + wl_list_for_each(subsurface, &surface->subsurfaces_below, parent_link) { + view_child_subsurface_create(view_child, subsurface); + } + wl_list_for_each(subsurface, &surface->subsurfaces_above, parent_link) { view_child_subsurface_create(view_child, subsurface); } }