From 1a8a574e0e1d379797b0745ce5ac0451a7104429 Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Thu, 23 Dec 2021 12:33:10 +0100 Subject: [PATCH] [kcolorschememanager] Properly restore default palette Currently when activating the default colorscheme we create a palette from the default KColorScheme However that is different from the application's default palette The former is effectively Breeze colors while the latter is fetched from the platformtheme By setting a default-constructed QPalette we tell Qt to load the default palette BUG: 447029 --- src/kcolorschememanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kcolorschememanager.cpp b/src/kcolorschememanager.cpp index 4c7e3be..c05a839 100644 --- a/src/kcolorschememanager.cpp +++ b/src/kcolorschememanager.cpp @@ -32,7 +32,11 @@ void KColorSchemeManagerPrivate::activateSchemeInternal(const QString &colorSche // ApplicationPaletteChange event. qApp->setProperty("KDE_COLOR_SCHEME_PATH", colorSchemePath); if (colorSchemePath.isEmpty()) { - qApp->setPalette(KColorScheme::createApplicationPalette(KSharedConfig::Ptr(nullptr))); + const QByteArray currentDesktop = qgetenv("XDG_CURRENT_DESKTOP"); + if (currentDesktop != QByteArray("KDE")) + qApp->setPalette(QPalette()); + else + qApp->setPalette(KColorScheme::createApplicationPalette(KSharedConfig::Ptr(nullptr))); } else { qApp->setPalette(KColorScheme::createApplicationPalette(KSharedConfig::openConfig(colorSchemePath))); }