diff --git a/kded/daemon.cpp b/kded/daemon.cpp --- a/kded/daemon.cpp +++ b/kded/daemon.cpp @@ -252,13 +252,17 @@ logConfig(m_monitoredConfig); // Modes may have changed, fix-up current mode id + bool changed = false; Q_FOREACH(const KScreen::OutputPtr &output, m_monitoredConfig->outputs()) { if (output->isConnected() && output->isEnabled() && output->currentMode().isNull()) { qCDebug(KSCREEN_KDED) << "Current mode" << output->currentModeId() << "invalid, setting preferred mode" << output->preferredModeId(); output->setCurrentModeId(output->preferredModeId()); - doApplyConfig(m_monitoredConfig); + changed = true; } } + if (changed) { + doApplyConfig(m_monitoredConfig); + } // Reset timer, delay the writeback if (!m_saveTimer) {