diff options
author | emersion <contact@emersion.fr> | 2018-04-05 18:31:19 -0400 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-04-05 18:31:19 -0400 |
commit | 076bedb85eface4a6c41a0e99059c89186bdb275 (patch) | |
tree | 9390c5c41be12daa0e5443416d7868a8f59ea569 /sway/tree/container.c | |
parent | Add damage tracking for xwayland unmanaged surfaces (diff) | |
download | sway-076bedb85eface4a6c41a0e99059c89186bdb275.tar.gz sway-076bedb85eface4a6c41a0e99059c89186bdb275.tar.zst sway-076bedb85eface4a6c41a0e99059c89186bdb275.zip |
Add container_damage_whole
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r-- | sway/tree/container.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c index 8fc9e3e8..1450db6d 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c | |||
@@ -512,9 +512,18 @@ static bool find_child_func(struct sway_container *con, void *data) { | |||
512 | 512 | ||
513 | bool container_has_child(struct sway_container *con, | 513 | bool container_has_child(struct sway_container *con, |
514 | struct sway_container *child) { | 514 | struct sway_container *child) { |
515 | if (con == NULL || con->type == C_VIEW || | 515 | if (con == NULL || con->type == C_VIEW || con->children->length == 0) { |
516 | con->children->length == 0) { | ||
517 | return false; | 516 | return false; |
518 | } | 517 | } |
519 | return container_find(con, find_child_func, child); | 518 | return container_find(con, find_child_func, child); |
520 | } | 519 | } |
520 | |||
521 | void container_damage_whole(struct sway_container *con) { | ||
522 | struct sway_container *output = con; | ||
523 | if (output->type != C_OUTPUT) { | ||
524 | output = container_parent(output, C_OUTPUT); | ||
525 | } | ||
526 | |||
527 | output_damage_whole_rect(output->sway_output, con->x, con->y, con->width, | ||
528 | con->height); | ||
529 | } | ||