[PATCH weston 2/2] libweston-desktop/xwayland: Actually destroy the view

Quentin Glidic sardemff7+wayland at sardemff7.net
Tue Aug 16 08:55:44 UTC 2016


From: Quentin Glidic <sardemff7+git at sardemff7.net>

Signed-off-by: Quentin Glidic <sardemff7+git at sardemff7.net>
---
 libweston-desktop/xwayland.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/libweston-desktop/xwayland.c b/libweston-desktop/xwayland.c
index 927afab..da04f7f 100644
--- a/libweston-desktop/xwayland.c
+++ b/libweston-desktop/xwayland.c
@@ -81,6 +81,7 @@ weston_desktop_xwayland_surface_change_state(struct weston_desktop_xwayland_surf
 	if (surface->state != state) {
 		if (surface->state == XWAYLAND) {
 			weston_desktop_surface_unlink_view(surface->view);
+			weston_view_destroy(surface->view);
 			surface->view = NULL;
 		}
 
@@ -149,11 +150,13 @@ weston_desktop_xwayland_surface_destroy(struct weston_desktop_surface *dsurface,
 	wl_list_remove(&surface->resource_destroy_listener.link);
 
 	weston_desktop_surface_unset_relative_to(surface->surface);
-	if (surface->added)
+	if (surface->added) {
 		weston_desktop_api_surface_removed(surface->desktop,
 						   surface->surface);
-	else if (surface->state == XWAYLAND)
+	} else if (surface->state == XWAYLAND) {
 		weston_desktop_surface_unlink_view(surface->view);
+		weston_view_destroy(surface->view);
+	}
 
 	free(surface);
 }
-- 
2.9.2



More information about the wayland-devel mailing list