aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree
diff options
context:
space:
mode:
Diffstat (limited to 'sway/tree')
-rw-r--r--sway/tree/container.c2
-rw-r--r--sway/tree/output.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 9358dad7..933907f4 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -831,7 +831,7 @@ void container_floating_move_to(struct sway_container *con,
831 } 831 }
832 struct sway_workspace *new_workspace = 832 struct sway_workspace *new_workspace =
833 output_get_active_workspace(new_output); 833 output_get_active_workspace(new_output);
834 if (old_workspace != new_workspace) { 834 if (new_workspace && old_workspace != new_workspace) {
835 container_detach(con); 835 container_detach(con);
836 workspace_add_floating(new_workspace, con); 836 workspace_add_floating(new_workspace, con);
837 arrange_workspace(old_workspace); 837 arrange_workspace(old_workspace);
diff --git a/sway/tree/output.c b/sway/tree/output.c
index 146bc423..e0a66e0b 100644
--- a/sway/tree/output.c
+++ b/sway/tree/output.c
@@ -143,6 +143,9 @@ void output_enable(struct sway_output *output, struct output_config *oc) {
143static void evacuate_sticky(struct sway_workspace *old_ws, 143static void evacuate_sticky(struct sway_workspace *old_ws,
144 struct sway_output *new_output) { 144 struct sway_output *new_output) {
145 struct sway_workspace *new_ws = output_get_active_workspace(new_output); 145 struct sway_workspace *new_ws = output_get_active_workspace(new_output);
146 if (!sway_assert(new_ws, "New output does not have a workspace")) {
147 return;
148 }
146 while (old_ws->floating->length) { 149 while (old_ws->floating->length) {
147 struct sway_container *sticky = old_ws->floating->items[0]; 150 struct sway_container *sticky = old_ws->floating->items[0];
148 container_detach(sticky); 151 container_detach(sticky);