aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
Diffstat (limited to 'sway')
-rw-r--r--sway/commands.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 42845f65..13fc29ad 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -344,14 +344,12 @@ static struct cmd_results *cmd_floating(int argc, char **argv) {
} else if (view->is_floating && !wants_floating) {
// Delete the view from the floating list and unset its is_floating flag
- // Using length-1 as the index is safe because the view must be the currently
- // focused floating output
remove_child(view);
view->is_floating = false;
// Get the properly focused container, and add in the view there
swayc_t *focused = container_under_pointer();
// If focused is null, it's because the currently focused container is a workspace
- if (focused == NULL) {
+ if (focused == NULL || focused->is_floating) {
focused = swayc_active_workspace();
}
set_focused_container(focused);