Don't bleed through previous themes.

Took 3 minutes
This commit is contained in:
Lukas Brübach 2026-06-19 20:33:35 +02:00
parent d8be3dae9c
commit e6a5461dad

View file

@ -344,7 +344,17 @@ void ThemeManager::applyStyleAndPalette(const QString &themeName,
} }
#endif #endif
} else { } else {
base = qApp->palette(); // Always start from the style's own standard palette so a previously-applied
// theme can never bleed through. qApp->palette() carries the result of the
// last theme application and must not be used as a base here — if the current
// theme ships no palette file, hasPalette() is false and palCfg.apply() is
// skipped, meaning whatever we put in base IS the effective palette.
base = style->standardPalette();
if (!base.color(QPalette::Window).isValid()) {
// Exotic platform style that doesn't implement standardPalette() —
// accept the bleed-through risk rather than crash or use garbage.
base = qApp->palette();
}
} }
// Overlay custom palette colours // Overlay custom palette colours