From 393f7aaeff7485f78de9c27f62eefe70d76fabf4 Mon Sep 17 00:00:00 2001
From: emersion <contact@emersion.fr>
Date: Fri, 4 May 2018 09:27:55 +0100
Subject: Fix a rootston crash when a client creates non-topmost popups

---
 rootston/xdg_shell.c    | 2 ++
 rootston/xdg_shell_v6.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/rootston/xdg_shell.c b/rootston/xdg_shell.c
index bd670a87..83a1caf0 100644
--- a/rootston/xdg_shell.c
+++ b/rootston/xdg_shell.c
@@ -18,6 +18,8 @@ static void popup_destroy(struct roots_view_child *child) {
 	}
 	wl_list_remove(&popup->destroy.link);
 	wl_list_remove(&popup->new_popup.link);
+	wl_list_remove(&popup->map.link);
+	wl_list_remove(&popup->unmap.link);
 	view_child_finish(&popup->view_child);
 	free(popup);
 }
diff --git a/rootston/xdg_shell_v6.c b/rootston/xdg_shell_v6.c
index 39e8a4b7..5a829f5d 100644
--- a/rootston/xdg_shell_v6.c
+++ b/rootston/xdg_shell_v6.c
@@ -18,6 +18,8 @@ static void popup_destroy(struct roots_view_child *child) {
 	}
 	wl_list_remove(&popup->destroy.link);
 	wl_list_remove(&popup->new_popup.link);
+	wl_list_remove(&popup->map.link);
+	wl_list_remove(&popup->unmap.link);
 	view_child_finish(&popup->view_child);
 	free(popup);
 }
-- 
cgit v1.2.3