aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/transaction.c
diff options
context:
space:
mode:
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 8688fa13..d77a2afd 100644
--- a/sway/desktop/transaction.c
+++ b/sway/desktop/transaction.c
@@ -95,8 +95,9 @@ static void copy_pending_state(struct sway_container *container,
95 state->using_csd = view->using_csd; 95 state->using_csd = view->using_csd;
96 } else if (container->type == C_WORKSPACE) { 96 } else if (container->type == C_WORKSPACE) {
97 state->ws_fullscreen = container->sway_workspace->fullscreen; 97 state->ws_fullscreen = container->sway_workspace->fullscreen;
98 state->ws_floating = container->sway_workspace->floating; 98 state->ws_floating = create_list();
99 state->children = create_list(); 99 state->children = create_list();
100 list_cat(state->ws_floating, container->sway_workspace->floating);
100 list_cat(state->children, container->children); 101 list_cat(state->children, container->children);
101 } else { 102 } else {
102 state->children = create_list(); 103 state->children = create_list();
@@ -168,6 +169,7 @@ static void transaction_apply(struct sway_transaction *transaction) {
168 // Any child containers which are being deleted will be cleaned up in 169 // Any child containers which are being deleted will be cleaned up in
169 // transaction_destroy(). 170 // transaction_destroy().
170 list_free(container->current.children); 171 list_free(container->current.children);
172 list_free(container->current.ws_floating);
171 173
172 memcpy(&container->current, &instruction->state, 174 memcpy(&container->current, &instruction->state,
173 sizeof(struct sway_container_state)); 175 sizeof(struct sway_container_state));