From 1dbef2d5ed1f447589d688bc8708995291c0260d Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Mon, 24 Jun 2024 12:32:24 +0300 Subject: [PATCH] backends/drm: Fix DrmCrtc::queryCurrentMode() accidentally resetting m_crtc to null Otherwise kwin will likely crash. --- src/backends/drm/drm_crtc.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/backends/drm/drm_crtc.cpp b/src/backends/drm/drm_crtc.cpp index d632877c83..ba5e1d9498 100644 --- a/src/backends/drm/drm_crtc.cpp +++ b/src/backends/drm/drm_crtc.cpp @@ -58,8 +58,12 @@ bool DrmCrtc::updateProperties() drmModeModeInfo DrmCrtc::queryCurrentMode() { - m_crtc.reset(drmModeGetCrtc(gpu()->fd(), id())); - return m_crtc->mode; + DrmUniquePtr crtc(drmModeGetCrtc(gpu()->fd(), id())); + if (crtc) { + return crtc->mode; + } else { + return m_crtc->mode; + } } int DrmCrtc::pipeIndex() const