aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/drm/drm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/backend/drm/drm.c b/backend/drm/drm.c
index 822ef0e2..43453072 100644
--- a/backend/drm/drm.c
+++ b/backend/drm/drm.c
@@ -1052,7 +1052,12 @@ static void dealloc_crtc(struct wlr_drm_connector *conn) {
wlr_log(WLR_DEBUG, "De-allocating CRTC %zu for output '%s'",
conn->crtc - drm->crtcs, conn->output.name);
- drm_connector_set_mode(conn, NULL);
+ conn->crtc->pending_modeset = true;
+ conn->crtc->pending.active = false;
+ if (!drm_crtc_commit(conn, 0)) {
+ return;
+ }
+
drm_plane_finish_surface(conn->crtc->primary);
drm_plane_finish_surface(conn->crtc->cursor);
if (conn->crtc->cursor != NULL) {