[PATCH weston] libweston-desktop/xwayland: Do not over-destroy the view
Quentin Glidic
sardemff7+wayland at sardemff7.net
Thu Aug 18 14:45:30 UTC 2016
From: Quentin Glidic <sardemff7+git at sardemff7.net>
With this weston_view_destroy() call, Xwayland popups make Weston freeze
in a busy-loop (probably corrupted wl_list).
Signed-off-by: Quentin Glidic <sardemff7+git at sardemff7.net>
---
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 cb08323..bd68bc6 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);
}
--
2.9.2
More information about the wayland-devel
mailing list