summaryrefslogtreecommitdiffstats
path: root/sway/tree/container.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r--sway/tree/container.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 9e70da09..d0d26631 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -204,9 +204,17 @@ static struct sway_container *container_workspace_destroy(
204 } 204 }
205 } 205 }
206 206
207 free(workspace->sway_workspace); 207 struct sway_workspace *sway_workspace = workspace->sway_workspace;
208
209 // This emits the destroy event and also destroys the swayc.
208 _container_destroy(workspace); 210 _container_destroy(workspace);
209 211
212 // Clean up the floating container
213 sway_workspace->floating->parent = NULL;
214 _container_destroy(sway_workspace->floating);
215
216 free(sway_workspace);
217
210 if (output) { 218 if (output) {
211 output_damage_whole(output->sway_output); 219 output_damage_whole(output->sway_output);
212 } 220 }