screen-share: Use wl_list_for_each_safe on destroy

Destroying the shared seat removes the link from so->seat_list.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Acked-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/compositor/screen-share.c b/compositor/screen-share.c
index 069da1d..a6f82b1 100644
--- a/compositor/screen-share.c
+++ b/compositor/screen-share.c
@@ -884,7 +884,7 @@
 {
 	struct shared_output *so;
 	struct wl_event_loop *loop;
-	struct ss_seat *seat;
+	struct ss_seat *seat, *tmp;
 	int epoll_fd;
 
 	so = zalloc(sizeof *so);
@@ -972,7 +972,7 @@
 	return so;
 
 err_display:
-	wl_list_for_each(seat, &so->seat_list, link)
+	wl_list_for_each_safe(seat, tmp, &so->seat_list, link)
 		ss_seat_destroy(seat);
 	wl_display_disconnect(so->parent.display);
 err_alloc: