From 5567aefb1c5690ac5aab1cc05f6b5e52b62c246c Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Tue, 27 Jun 2023 11:14:55 -0400 Subject: [PATCH] backend/drm: Don't add pollute fixed modes list with custom modes Nobody remembers why this is done and it isn't that great if people use a lot of custom modes. --- backend/drm/drm.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/backend/drm/drm.c b/backend/drm/drm.c index a4853ffa..384971d1 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -763,16 +763,17 @@ bool drm_connector_commit_state(struct wlr_drm_connector *conn, conn->crtc = NULL; } if (pending.base->committed & WLR_OUTPUT_STATE_MODE) { - struct wlr_output_mode *mode = NULL; switch (pending.base->mode_type) { case WLR_OUTPUT_STATE_MODE_FIXED: - mode = pending.base->mode; + wlr_output_update_mode(&conn->output, pending.base->mode); break; case WLR_OUTPUT_STATE_MODE_CUSTOM: - mode = wlr_drm_connector_add_mode(&conn->output, &pending.mode); + wlr_output_update_custom_mode(&conn->output, + pending.base->custom_mode.width, + pending.base->custom_mode.height, + pending.base->custom_mode.refresh); break; } - wlr_output_update_mode(&conn->output, mode); } if (flags & DRM_MODE_PAGE_FLIP_EVENT) { conn->pending_page_flip_crtc = conn->crtc->id;