diff --git a/kconfigwidgets-properly-restore-default-palette.patch b/kconfigwidgets-properly-restore-default-palette.patch new file mode 100644 index 0000000..e4272fe --- /dev/null +++ b/kconfigwidgets-properly-restore-default-palette.patch @@ -0,0 +1,36 @@ +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))); + } +