aboutsummaryrefslogtreecommitdiff
path: root/sway/input
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input')
-rw-r--r--sway/input/seat.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c
index bf4e8876..5e65ca70 100644
--- a/sway/input/seat.c
+++ b/sway/input/seat.c
@@ -669,9 +669,11 @@ void seat_set_focus_warp(struct sway_seat *seat,
// If we've focused a floating container, bring it to the front.
// We do this by putting it at the end of the floating list.
// This must happen for both the pending and current children lists.
- if (container_is_floating(container)) {
+ if (container && container_is_floating(container)) {
list_move_to_end(container->parent->children, container);
- list_move_to_end(container->parent->current.children, container);
+ if (container_has_ancestor(container, container->current.parent)) {
+ list_move_to_end(container->parent->current.children, container);
+ }
}
// clean up unfocused empty workspace on new output