From 600c1261509b5849562b7e2238c1363c9950ac35 Mon Sep 17 00:00:00 2001
From: dudemanguy <random342@airmail.cc>
Date: Wed, 11 Jul 2018 10:08:33 -0500
Subject: [PATCH] fix crash on floating windows

---
 sway/input/seat.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sway/input/seat.c b/sway/input/seat.c
index bf4e8876..be37258f 100644
--- a/sway/input/seat.c
+++ b/sway/input/seat.c
@@ -671,7 +671,9 @@ void seat_set_focus_warp(struct sway_seat *seat,
 	// This must happen for both the pending and current children lists.
 	if (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