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 /backend | |
| parent | 92dabc3a01c7963e32667453107b46c6480f7d4b (diff) | |
| download | wlroots-c9c9dd6a5b866055a6a39fd78e55f6d5797fec28.tar.xz | |
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>
Diffstat (limited to 'backend')
| -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); | 
