aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/wlr/types/wlr_surface.h9
-rw-r--r--types/wlr_surface.c4
2 files changed, 9 insertions, 4 deletions
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;