aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-06-01 12:24:12 +0200
committerSimon Ser <contact@emersion.fr>2021-06-03 14:06:29 +0200
commit3162766eef14be71789478b0984bc2c1802832b2 (patch)
treea1f1c5b0d6520c03d9517a063046156c8015b4ad /sway
parent9755684fb0fd665a65be2a3cbabc5d502244c459 (diff)
downloadsway-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.c10
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);
}
}