From f1df592c96f36724a5f18665b480bb82840b67ac Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Thu, 4 Jan 2024 21:02:33 +0100 Subject: [PATCH] QWaylandWindow: Update decoration when application palette/font changes Ensures the decoration can redraw to adjust for the new colors/font. Pick-to: 6.7 6.6 6.5 Change-Id: Ib46acde1d14baafda49f379f8279c396bc976bdc Reviewed-by: David Edmundson --- src/plugins/platforms/wayland/qwaylandwindow.cpp | 11 +++++++++++ src/plugins/platforms/wayland/qwaylandwindow_p.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/plugins/platforms/wayland/qwaylandwindow.cpp b/src/plugins/platforms/wayland/qwaylandwindow.cpp index a6c0b97b797..b34e448b67a 100644 --- a/src/plugins/platforms/wayland/qwaylandwindow.cpp +++ b/src/plugins/platforms/wayland/qwaylandwindow.cpp @@ -1788,6 +1788,17 @@ void QWaylandWindow::reinit() } } +bool QWaylandWindow::windowEvent(QEvent *event) +{ + if (event->type() == QEvent::ApplicationPaletteChange + || event->type() == QEvent::ApplicationFontChange) { + if (mWindowDecorationEnabled && window()->isVisible()) + mWindowDecoration->update(); + } + + return QPlatformWindow::windowEvent(event); +} + } QT_END_NAMESPACE diff --git a/src/plugins/platforms/wayland/qwaylandwindow_p.h b/src/plugins/platforms/wayland/qwaylandwindow_p.h index 2f6d2921bba..c2815cb8e55 100644 --- a/src/plugins/platforms/wayland/qwaylandwindow_p.h +++ b/src/plugins/platforms/wayland/qwaylandwindow_p.h @@ -238,6 +238,8 @@ public: virtual void reinit(); void reset(); + bool windowEvent(QEvent *event) override; + public Q_SLOTS: void applyConfigure();