Merge pull request #2097 from RyanDwyer/fix-workspace-segfault

Fix potential crash when destroying workspace
This commit is contained in:
emersion 2018-06-03 09:20:22 +01:00 committed by GitHub
commit 5c2ae9c600
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -204,9 +204,17 @@ static struct sway_container *container_workspace_destroy(
} }
} }
free(workspace->sway_workspace); struct sway_workspace *sway_workspace = workspace->sway_workspace;
// This emits the destroy event and also destroys the swayc.
_container_destroy(workspace); _container_destroy(workspace);
// Clean up the floating container
sway_workspace->floating->parent = NULL;
_container_destroy(sway_workspace->floating);
free(sway_workspace);
if (output) { if (output) {
output_damage_whole(output->sway_output); output_damage_whole(output->sway_output);
} }