diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index d90e2f5163..b4c4ffe7c7 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -368,6 +368,7 @@ QApplicationPrivate::~QApplicationPrivate() void qt_init(QApplicationPrivate *priv, int type ); +void qt_init_tooltip_palette(); void qt_cleanup(); QStyle *QApplicationPrivate::app_style = 0; // default application style @@ -4025,6 +4026,7 @@ void QApplicationPrivate::notifyThemeChanged() QGuiApplicationPrivate::notifyThemeChanged(); clearSystemPalette(); initSystemPalette(); + qt_init_tooltip_palette(); } #ifndef QT_NO_DRAGANDDROP diff --git a/src/widgets/kernel/qapplication_qpa.cpp b/src/widgets/kernel/qapplication_qpa.cpp index c68bcc773f..5893c52e1b 100644 --- a/src/widgets/kernel/qapplication_qpa.cpp +++ b/src/widgets/kernel/qapplication_qpa.cpp @@ -442,6 +442,14 @@ void QApplication::alert(QWidget *widget, int duration) } } +void qt_init_tooltip_palette() +{ +#ifndef QT_NO_TOOLTIP + if (const QPalette *toolTipPalette = QGuiApplicationPrivate::platformTheme()->palette(QPlatformTheme::ToolTipPalette)) + QToolTip::setPalette(*toolTipPalette); +#endif +} + void qt_init(QApplicationPrivate *priv, int type) { Q_UNUSED(priv); @@ -449,10 +457,7 @@ void qt_init(QApplicationPrivate *priv, int type) QColormap::initialize(); -#ifndef QT_NO_TOOLTIP - if (const QPalette *toolTipPalette = QGuiApplicationPrivate::platformTheme()->palette(QPlatformTheme::ToolTipPalette)) - QToolTip::setPalette(*toolTipPalette); -#endif + qt_init_tooltip_palette(); QApplicationPrivate::initializeWidgetFontHash(); }