diff --git a/src/platformtheme/khintssettings.cpp b/src/platformtheme/khintssettings.cpp --- a/src/platformtheme/khintssettings.cpp +++ b/src/platformtheme/khintssettings.cpp @@ -231,7 +231,12 @@ //QApplication::setPalette and QGuiApplication::setPalette are different functions //and non virtual. Call the correct one if (qobject_cast(QCoreApplication::instance())) { - QApplication::setPalette(*m_palettes[QPlatformTheme::SystemPalette]); + QPalette palette = *m_palettes[QPlatformTheme::SystemPalette]; + QApplication::setPalette(palette); + // QTBUG QGuiApplication::paletteChanged() signal is only emitted by QGuiApplication + // so things like SystemPalette QtQuick item that use it won't notice a palette + // change when a QApplication which causes e.g. QML System Settings modules to not update + emit qApp->paletteChanged(palette); } else if (qobject_cast(QCoreApplication::instance())) { QGuiApplication::setPalette(*m_palettes[QPlatformTheme::SystemPalette]); }