diff options
author | Simon Ser <contact@emersion.fr> | 2021-06-01 12:24:12 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-06-03 14:06:29 +0200 |
commit | 3162766eef14be71789478b0984bc2c1802832b2 (patch) | |
tree | a1f1c5b0d6520c03d9517a063046156c8015b4ad /sway | |
parent | 9755684fb0fd665a65be2a3cbabc5d502244c459 (diff) | |
download | sway-3162766eef14be71789478b0984bc2c1802832b2.tar.xz |
Iterate over subsurfaces below the parent surface
Update for the breaking change in [1].
[1]: https://github.com/swaywm/wlroots/pull/2948
Diffstat (limited to 'sway')
-rw-r--r-- | sway/tree/view.c | 10 |
1 files 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); } } |