From c561b7197bff1333dcc340b3a53cace8887ef243 Mon Sep 17 00:00:00 2001 From: Wladimir Leuschner Date: Wed, 31 Jul 2024 13:54:32 +0200 Subject: [PATCH] Update QMdiSubWindow after windowFlags were changed Adding or removing close/maximize/minimize buttons to an already existing QMdiSubWindow is only visible after the window is repainted. This patch repaints the QMdiSubWindow at the end of setWindowFlags. Fixes: QTBUG-125778 Pick-to: 6.7 Change-Id: Ibdf136621bf70337a2af29dfcfd10b60dde11e15 Reviewed-by: Volker Hilsheimer (cherry picked from commit 6520ed0f2567c5a8fd680dccbff59c5ef8fc89c2) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/widgets/qmdisubwindow.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index d8700e3df2d..58762a3a1ab 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -2095,6 +2095,7 @@ void QMdiSubWindowPrivate::setVisible(WindowStateAction action, bool visible) (controlContainer->controllerWidget())) { ctrlWidget->setControlVisible(action, visible); } + q->update(); } #ifndef QT_NO_ACTION @@ -2867,6 +2868,13 @@ bool QMdiSubWindow::event(QEvent *event) showToolTip(static_cast(event), this, d->titleBarOptions(), QStyle::CC_TitleBar, d->hoveredSubControl); break; +#endif +#ifndef QT_NO_ACTION + case QEvent::ActionAdded: + case QEvent::ActionChanged: + case QEvent::ActionRemoved: + update(); + break; #endif default: break;