diff --git a/plugins/platforms/drm/drm_backend.cpp b/plugins/platforms/drm/drm_backend.cpp index 0c837fceb9..97f1b3f653 100644 --- a/plugins/platforms/drm/drm_backend.cpp +++ b/plugins/platforms/drm/drm_backend.cpp @@ -519,7 +519,11 @@ bool DrmBackend::updateOutputs() emit screensQueried(); } - qDeleteAll(removedOutputs); + for(DrmOutput* removedOutput : removedOutputs) { + removedOutput->teardown(); + removedOutput->m_crtc = nullptr; + removedOutput->m_conn = nullptr; + } qDeleteAll(oldConnectors); qDeleteAll(oldCrtcs); return true;