From 1714f01e0cfcc6b71946d5c8d9898a2eaba86fac Mon Sep 17 00:00:00 2001 From: Quentin Glidic Date: Thu, 18 Aug 2016 16:45:30 +0200 Subject: [PATCH] libweston-desktop/xwayland: Do not over-destroy the view With this weston_view_destroy() call, Xwayland popups make Weston freeze in a busy-loop (probably corrupted wl_list). Signed-off-by: Quentin Glidic Reviewed-by: Bryce Harrington --- libweston-desktop/xwayland.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libweston-desktop/xwayland.c b/libweston-desktop/xwayland.c index cb083237..bd68bc68 100644 --- a/libweston-desktop/xwayland.c +++ b/libweston-desktop/xwayland.c @@ -152,13 +152,11 @@ 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); }