diff options
author | sunzhguy <sunzhigang1@kylinos.cn> | 2023-11-17 11:21:35 +0800 |
---|---|---|
committer | sunzhguy <sunzhigang1@kylinos.cn> | 2023-11-17 12:38:21 +0800 |
commit | c9c9dd6a5b866055a6a39fd78e55f6d5797fec28 (patch) | |
tree | e992bbcfff611e87e35d683de1e9004ad1484376 | |
parent | 92dabc3a01c7963e32667453107b46c6480f7d4b (diff) |
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 <sunzhigang1@kylinos.cn>
-rw-r--r-- | backend/drm/backend.c | 10 |
1 files 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); |