From 2c042566ebe2673e96f671b7e2b5953c3246de56 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 13 Dec 2022 12:41:25 +0100 Subject: [PATCH] backend/drm: clear pending cursor FB in drm_connector_commit_state() Ensure we unlock any pending cursor FB when disabling a connector. --- backend/drm/drm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/drm/drm.c b/backend/drm/drm.c index e1d062b6..f1ecd8c8 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -623,6 +623,7 @@ bool drm_connector_commit_state(struct wlr_drm_connector *conn, if (!pending.active) { drm_plane_finish_surface(conn->crtc->primary); drm_plane_finish_surface(conn->crtc->cursor); + drm_fb_clear(&conn->cursor_pending_fb); conn->cursor_enabled = false; conn->crtc = NULL; @@ -892,7 +893,6 @@ static void drm_connector_destroy_output(struct wlr_output *output) { conn->status = DRM_MODE_DISCONNECTED; conn->pending_page_flip_crtc = 0; - drm_fb_clear(&conn->cursor_pending_fb); struct wlr_drm_mode *mode, *mode_tmp; wl_list_for_each_safe(mode, mode_tmp, &conn->output.modes, wlr_mode.link) {