diff --git a/src/plugins/platforms/drm/drm_gpu.cpp b/src/plugins/platforms/drm/drm_gpu.cpp index a01f3f0ae9..62eb58e48d 100644 --- a/src/plugins/platforms/drm/drm_gpu.cpp +++ b/src/plugins/platforms/drm/drm_gpu.cpp @@ -570,7 +570,9 @@ void DrmGpu::removeOutput(DrmOutput *output) { m_drmOutputs.removeOne(output); m_outputs.removeOne(output); - Q_EMIT outputDisabled(output); + if (output->isEnabled()) { + Q_EMIT outputDisabled(output); + } Q_EMIT outputRemoved(output); auto pipeline = output->m_pipeline; delete output; @@ -610,7 +612,9 @@ DrmVirtualOutput *DrmGpu::createVirtualOutput() void DrmGpu::removeVirtualOutput(DrmVirtualOutput *output) { if (m_outputs.removeOne(output)) { - Q_EMIT outputDisabled(output); + if (output->isEnabled()) { + Q_EMIT outputDisabled(output); + } Q_EMIT outputRemoved(output); delete output; }