[PATCH weston] compositor-wayland: destroy the appropriate output instead of exiting when receiving an xdg_toplevel::close event

Sergi Granell xerpi.g.12 at gmail.com
Mon Sep 25 10:24:14 UTC 2017


Signed-off-by: Sergi Granell <xerpi.g.12 at gmail.com>
---
 libweston/compositor-wayland.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c
index a99d4a5c..17b5dbfd 100644
--- a/libweston/compositor-wayland.c
+++ b/libweston/compositor-wayland.c
@@ -1099,7 +1099,10 @@ handle_xdg_toplevel_close(void *data, struct zxdg_toplevel_v6 *xdg_toplevel)
 {
 	struct wayland_output *output = data;
 
-	weston_compositor_exit(output->base.compositor);
+	wayland_output_destroy(&output->base);
+
+	if (wl_list_empty(&output->base.compositor->output_list))
+		weston_compositor_exit(output->base.compositor);
 }
 
 static const struct zxdg_toplevel_v6_listener xdg_toplevel_listener = {
-- 
2.14.1



More information about the wayland-devel mailing list