diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-08-24 08:27:05 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-24 08:27:05 -0400 |
commit | e86d99acd655815781cd2e23877ce58ab5b24826 (patch) | |
tree | 5e056a7859751c68c0cfb425fc6f37599c3f7400 /sway/desktop/transaction.c | |
parent | f53c28d52a6954108592c246c013c0c4b076f09c (diff) | |
parent | b6058703fa240780d66fac8ef96982c66b2b0263 (diff) |
Merge pull request #2499 from RyanDwyer/refactor-destroy-functions
Refactor destroy functions and save workspaces when there's no outputs
Diffstat (limited to 'sway/desktop/transaction.c')
-rw-r--r-- | sway/desktop/transaction.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c index f82e5ef2..c18529fb 100644 --- a/sway/desktop/transaction.c +++ b/sway/desktop/transaction.c @@ -54,7 +54,22 @@ static void transaction_destroy(struct sway_transaction *transaction) { con->instruction = NULL; } if (con->destroying && con->ntxnrefs == 0) { - container_free(con); + switch (con->type) { + case C_ROOT: + break; + case C_OUTPUT: + output_destroy(con); + break; + case C_WORKSPACE: + workspace_destroy(con); + break; + case C_CONTAINER: + case C_VIEW: + container_destroy(con); + break; + case C_TYPES: + break; + } } free(instruction); } |