diff --git a/backend/headless/backend.c b/backend/headless/backend.c index 81b013762..1d29e12a4 100644 --- a/backend/headless/backend.c +++ b/backend/headless/backend.c @@ -54,6 +54,7 @@ static void backend_destroy(struct wlr_backend *wlr_backend) { wlr_signal_emit_safe(&wlr_backend->events.destroy, backend); + wlr_renderer_destroy(backend->renderer); wlr_egl_finish(&backend->egl); free(backend); } diff --git a/backend/wayland/backend.c b/backend/wayland/backend.c index 4bcb93606..85a98b720 100644 --- a/backend/wayland/backend.c +++ b/backend/wayland/backend.c @@ -88,6 +88,7 @@ static void wlr_wl_backend_destroy(struct wlr_backend *wlr_backend) { free(backend->seat_name); wl_event_source_remove(backend->remote_display_src); + wlr_renderer_destroy(backend->renderer); wlr_egl_finish(&backend->egl); if (backend->seat) { wl_seat_destroy(backend->seat); diff --git a/backend/x11/backend.c b/backend/x11/backend.c index b4b0f1549..3a4091559 100644 --- a/backend/x11/backend.c +++ b/backend/x11/backend.c @@ -239,6 +239,7 @@ static void wlr_x11_backend_destroy(struct wlr_backend *backend) { } wl_list_remove(&x11->display_destroy.link); + wlr_renderer_destroy(x11->renderer); wlr_egl_finish(&x11->egl); if (x11->cursor) {