libweston-desktop/xwayland: Actually destroy the view

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
dev
Quentin Glidic 8 years ago
parent f01ecee75a
commit f6636a8dec
No known key found for this signature in database
GPG Key ID: AC203F96E2C34BB7
  1. 7
      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 != state) {
if (surface->state == XWAYLAND) { if (surface->state == XWAYLAND) {
weston_desktop_surface_unlink_view(surface->view); weston_desktop_surface_unlink_view(surface->view);
weston_view_destroy(surface->view);
surface->view = NULL; 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); wl_list_remove(&surface->resource_destroy_listener.link);
weston_desktop_surface_unset_relative_to(surface->surface); weston_desktop_surface_unset_relative_to(surface->surface);
if (surface->added) if (surface->added) {
weston_desktop_api_surface_removed(surface->desktop, weston_desktop_api_surface_removed(surface->desktop,
surface->surface); surface->surface);
else if (surface->state == XWAYLAND) } else if (surface->state == XWAYLAND) {
weston_desktop_surface_unlink_view(surface->view); weston_desktop_surface_unlink_view(surface->view);
weston_view_destroy(surface->view);
}
free(surface); free(surface);
} }

Loading…
Cancel
Save