From c9c9dd6a5b866055a6a39fd78e55f6d5797fec28 Mon Sep 17 00:00:00 2001 From: sunzhguy Date: Fri, 17 Nov 2023 11:21:35 +0800 Subject: [PATCH] backend/drm: free fb later since 4932e0d347f("backend/drm: ensure plane surfaces are cleaned up on shutdown") at finish_drm_resources called drm_plane_finsh_surface has already free the fb Signed-off-by: zhoulei zhoulei@kylinos.cn Signed-off-by: sunzhguy --- backend/drm/backend.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/drm/backend.c b/backend/drm/backend.c index 26cd78e2..e6c709bf 100644 --- a/backend/drm/backend.c +++ b/backend/drm/backend.c @@ -41,11 +41,6 @@ static void backend_destroy(struct wlr_backend *backend) { wlr_backend_finish(backend); - struct wlr_drm_fb *fb, *fb_tmp; - wl_list_for_each_safe(fb, fb_tmp, &drm->fbs, link) { - drm_fb_destroy(fb); - } - wl_list_remove(&drm->display_destroy.link); wl_list_remove(&drm->session_destroy.link); wl_list_remove(&drm->session_active.link); @@ -59,6 +54,11 @@ static void backend_destroy(struct wlr_backend *backend) { finish_drm_resources(drm); + struct wlr_drm_fb *fb, *fb_tmp; + wl_list_for_each_safe(fb, fb_tmp, &drm->fbs, link) { + drm_fb_destroy(fb); + } + free(drm->name); wlr_session_close_file(drm->session, drm->dev); wl_event_source_remove(drm->drm_event);