diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h index a9859d7b..69188cbb 100644 --- a/include/wlr/types/wlr_surface.h +++ b/include/wlr/types/wlr_surface.h @@ -163,7 +163,12 @@ struct wlr_surface { } previous; }; -struct wlr_subsurface_state { +/** + * The sub-surface state describing the sub-surface's relationship with its + * parent. Contrary to other states, this one is not applied on surface commit. + * Instead, it's applied on parent surface commit. + */ +struct wlr_subsurface_parent_state { int32_t x, y; }; @@ -172,7 +177,7 @@ struct wlr_subsurface { struct wlr_surface *surface; struct wlr_surface *parent; - struct wlr_subsurface_state current, pending; + struct wlr_subsurface_parent_state current, pending; uint32_t cached_seq; bool has_cache; diff --git a/types/wlr_surface.c b/types/wlr_surface.c index eec70474..0491b570 100644 --- a/types/wlr_surface.c +++ b/types/wlr_surface.c @@ -1350,7 +1350,7 @@ static void surface_for_each_surface(struct wlr_surface *surface, int x, int y, wlr_surface_iterator_func_t iterator, void *user_data) { struct wlr_subsurface *subsurface; wl_list_for_each(subsurface, &surface->subsurfaces_below, parent_link) { - struct wlr_subsurface_state *state = &subsurface->current; + struct wlr_subsurface_parent_state *state = &subsurface->current; int sx = state->x; int sy = state->y; @@ -1361,7 +1361,7 @@ static void surface_for_each_surface(struct wlr_surface *surface, int x, int y, iterator(surface, x, y, user_data); wl_list_for_each(subsurface, &surface->subsurfaces_above, parent_link) { - struct wlr_subsurface_state *state = &subsurface->current; + struct wlr_subsurface_parent_state *state = &subsurface->current; int sx = state->x; int sy = state->y;