summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2021-02-19 18:41:04 +0100
committerFurkan Sahin <furkan-dev@proton.me>2021-02-19 18:41:04 +0100
commitd175d5189d5bd88d9dce671e76ccc825c407652f (patch)
tree722f75603eb3f78eb4cd85a1e8ac1aeb94920e82
parent43a57f7488d7b4ff5314f3ef82851ba287bcdb25 (diff)
view: Mark subchildren as unmapped in view_child_destroy
The subchildren lose their parent association at this point, so they will not be able to see that the parent is unmapped. Instead, just set the subchildren to be unmapped directly.
-rw-r--r--sway/tree/view.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index c8a4ea6b..978271c2 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -1105,6 +1105,9 @@ void view_child_destroy(struct sway_view_child *child) {
wl_list_for_each_safe(subchild, tmpchild, &child->children, link) {
wl_list_remove(&subchild->link);
subchild->parent = NULL;
+ // The subchild lost its parent link, so it cannot see that the parent
+ // is unmapped. Unmap it directly.
+ subchild->mapped = false;
}
wl_list_remove(&child->surface_commit.link);