xwayland: Clear wlr_xwayland_surface in handle_destroy

If the destroyed xwayland view is in transaction, it won't
be destroyed immediately. wlr_xwayland_surface then becomes
dangling pointer.

Closes #6605
Closes #5884
master
David Rosca 3 years ago committed by Kirill Primak
parent b48cb6b0ec
commit 215787e8b2

@ -436,6 +436,8 @@ static void handle_destroy(struct wl_listener *listener, void *data) {
wl_list_remove(&xwayland_view->commit.link); wl_list_remove(&xwayland_view->commit.link);
} }
xwayland_view->view.wlr_xwayland_surface = NULL;
wl_list_remove(&xwayland_view->destroy.link); wl_list_remove(&xwayland_view->destroy.link);
wl_list_remove(&xwayland_view->request_configure.link); wl_list_remove(&xwayland_view->request_configure.link);
wl_list_remove(&xwayland_view->request_fullscreen.link); wl_list_remove(&xwayland_view->request_fullscreen.link);

Loading…
Cancel
Save