summaryrefslogtreecommitdiff
path: root/sway/tree/container.c
diff options
context:
space:
mode:
authorDrew DeVault <[email protected]>2018-04-05 22:53:21 -0400
committerGitHub <[email protected]>2018-04-05 22:53:21 -0400
commitf63d9417cd4d25121fa1fd309acad14a7562a55c (patch)
treec46a070652793db69ec5d6c5258d0e6cf86c1231 /sway/tree/container.c
parent268c68b41707a664e5059699c720f000f20e2276 (diff)
parent641807d920854fdecc1307bd809c198db1a7dff1 (diff)
Merge pull request #1743 from emersion/subsurface-damage-tracking
Damage tracking for view children
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r--sway/tree/container.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 3e8c1c75..41321dc8 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -514,9 +514,16 @@ static bool find_child_func(struct sway_container *con, void *data) {
bool container_has_child(struct sway_container *con,
struct sway_container *child) {
- if (con == NULL || con->type == C_VIEW ||
- con->children->length == 0) {
+ if (con == NULL || con->type == C_VIEW || con->children->length == 0) {
return false;
}
return container_find(con, find_child_func, child);
}
+
+void container_damage_whole(struct sway_container *con) {
+ struct sway_container *output = con;
+ if (output->type != C_OUTPUT) {
+ output = container_parent(output, C_OUTPUT);
+ }
+ output_damage_whole_container(output->sway_output, con);
+}