diff options
Diffstat (limited to 'sway/input')
-rw-r--r-- | sway/input/seat.c | 6 |
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 |