diff --git a/src/wayland-server.c b/src/wayland-server.c index 674aeca..9c4507b 100644 --- a/src/wayland-server.c +++ b/src/wayland-server.c @@ -865,11 +865,16 @@ wl_socket_alloc(void) WL_EXPORT void wl_display_destroy(struct wl_display *display) { + struct wl_client *c, *cnext; struct wl_socket *s, *next; struct wl_global *global, *gnext; wl_signal_emit(&display->destroy_signal, display); + wl_list_for_each_safe(c, cnext, &display->client_list, link) { + wl_client_destroy(c); + } + wl_list_for_each_safe(s, next, &display->socket_list, link) { wl_socket_destroy(s); }