diff --git a/src/libkirigami/platformtheme.cpp b/src/libkirigami/platformtheme.cpp --- a/src/libkirigami/platformtheme.cpp +++ b/src/libkirigami/platformtheme.cpp @@ -129,6 +129,7 @@ void PlatformThemePrivate::syncCustomPalette() { + const auto prev = customPalette; for (auto state : { QPalette::Active, QPalette::Inactive, QPalette::Disabled }) { setPaletteColor(customPalette, state, QPalette::WindowText, q->textColor()); setPaletteColor(customPalette, state, QPalette::Window, q->backgroundColor()); @@ -143,7 +144,9 @@ setPaletteColor(customPalette, state, QPalette::Link, q->linkColor()); setPaletteColor(customPalette, state, QPalette::LinkVisited, q->visitedLinkColor()); } - emit q->paletteChanged(customPalette); + if (prev != customPalette) { + emit q->paletteChanged(customPalette); + } } void PlatformThemePrivate::findParentStyle()