summaryrefslogtreecommitdiff
path: root/sway/desktop/transaction.c
diff options
context:
space:
mode:
authoremersion <[email protected]>2018-08-19 09:21:55 +0100
committerGitHub <[email protected]>2018-08-19 09:21:55 +0100
commit2c91afbb34f649fcd4de690be5bedba4d989a7f0 (patch)
tree681f45a530a1f8d5966161291c3cb482e52edb6e /sway/desktop/transaction.c
parent389d159c81502aa8b951895de11c3720bbd5ba7d (diff)
parent2b5a404ac920339a2b9ce32d4718272dee4668b9 (diff)
Merge pull request #2487 from RyanDwyer/workspace-floating-list
Replace hacky L_FLOATING container with a list
Diffstat (limited to 'sway/desktop/transaction.c')
-rw-r--r--sway/desktop/transaction.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c
index c300558a..692fb447 100644
--- a/sway/desktop/transaction.c
+++ b/sway/desktop/transaction.c
@@ -111,8 +111,9 @@ static void copy_pending_state(struct sway_container *container,
state->using_csd = view->using_csd;
} else if (container->type == C_WORKSPACE) {
state->ws_fullscreen = container->sway_workspace->fullscreen;
- state->ws_floating = container->sway_workspace->floating;
+ state->ws_floating = create_list();
state->children = create_list();
+ list_cat(state->ws_floating, container->sway_workspace->floating);
list_cat(state->children, container->children);
} else {
state->children = create_list();
@@ -189,6 +190,7 @@ static void transaction_apply(struct sway_transaction *transaction) {
// Any child containers which are being deleted will be cleaned up in
// transaction_destroy().
list_free(container->current.children);
+ list_free(container->current.ws_floating);
memcpy(&container->current, &instruction->state,
sizeof(struct sway_container_state));