From 2988ebb6f37e201ba5884aa434aa7120fa951852 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 14 May 2020 17:26:30 +0200 Subject: [PATCH] backend/drm: fix atomic commits when the GAMMA_LUT prop is missing We already have the logic to fallback to the legacy interface above. We just need to avoid calling atomic_add with a zero prop ID. Closes: https://github.com/swaywm/wlroots/issues/2187 --- backend/drm/atomic.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/drm/atomic.c b/backend/drm/atomic.c index 31145504..67dfce02 100644 --- a/backend/drm/atomic.c +++ b/backend/drm/atomic.c @@ -200,7 +200,9 @@ static bool atomic_crtc_commit(struct wlr_drm_backend *drm, atomic_add(&atom, crtc->id, crtc->props.mode_id, crtc->mode_id); atomic_add(&atom, crtc->id, crtc->props.active, crtc->active); if (crtc->active) { - atomic_add(&atom, crtc->id, crtc->props.gamma_lut, crtc->gamma_lut); + if (crtc->props.gamma_lut != 0) { + atomic_add(&atom, crtc->id, crtc->props.gamma_lut, crtc->gamma_lut); + } set_plane_props(&atom, drm, crtc->primary, crtc->id, 0, 0); if (crtc->cursor) { if (crtc->cursor->cursor_enabled) {