diff --git a/kcm/kcm.cpp b/kcm/kcm.cpp --- a/kcm/kcm.cpp +++ b/kcm/kcm.cpp @@ -265,6 +265,13 @@ } fetchGlobalScale(); + // Don't pull away the outputModel under QML's feet + // signal its disappearance first before replacing it + auto *oldConfig = m_config.release(); + if (oldConfig) { + emit outputModelChanged(); + } + m_config.reset(new ConfigHandler(this)); Q_EMIT perOutputScalingChanged(); connect (m_config.get(), &ConfigHandler::outputModelChanged,