diff --git a/src/kmessagewidget.cpp b/src/kmessagewidget.cpp --- a/src/kmessagewidget.cpp +++ b/src/kmessagewidget.cpp @@ -21,6 +21,7 @@ #include "kmessagewidget.h" #include +#include #include #include #include @@ -98,6 +99,8 @@ closeButton->setDefaultAction(closeAction); q->setMessageType(KMessageWidget::Information); + + q->connect(qApp, &QApplication::paletteChanged, q, [this] {KMessageWidgetPrivate::setPalette();}); } void KMessageWidgetPrivate::createLayout() @@ -185,6 +188,7 @@ QPalette palette = q->palette(); palette.setColor(QPalette::Window, bgBaseColor); q->setPalette(palette); + q->style()->polish(q); } void KMessageWidgetPrivate::updateLayout() @@ -282,8 +286,6 @@ { if (event->type() == QEvent::Polish && !layout()) { d->createLayout(); - } else if (event->type() == QEvent::PaletteChange) { - d->setPalette(); } else if (event->type() == QEvent::Show && !d->ignoreShowEventDoingAnimatedShow) { setFixedHeight(d->bestContentHeight()); }