diff --git a/sway/input/seat.c b/sway/input/seat.c index cffceaaec..659ec89bb 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -1110,9 +1110,6 @@ static void seat_end_move_tiling(struct sway_seat *seat) { int after = edge != WLR_EDGE_TOP && edge != WLR_EDGE_LEFT; container_detach(con); - if (old_parent) { - container_reap_empty(old_parent); - } // Moving container into empty workspace if (target_node->type == N_WORKSPACE && edge == WLR_EDGE_NONE) { @@ -1135,6 +1132,10 @@ static void seat_end_move_tiling(struct sway_seat *seat) { workspace_insert_tiling(new_ws, con, after); } + if (old_parent) { + container_reap_empty(old_parent); + } + // This is a bit dirty, but we'll set the dimensions to that of a sibling. // I don't think there's any other way to make it consistent without // changing how we auto-size containers.