summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorMikolaj Boc <mikolaj.boc@qt.io>2022-09-21 15:19:44 +0200
committerMikoĊ‚aj Boc <Mikolaj.Boc@qt.io>2022-09-23 14:28:25 +0000
commit56eb4badb51cf9a59229d6668afcca1f4072e507 (patch)
tree766514b472b6540ed74b12deb6090bd01fbe3a51 /src/gui/kernel
parentc2df659c8d1a1a115eb2364ee883957ff6d86664 (diff)
Return the actual modal window in QGuiApplicationPrivate::isWindowBlocked
The method erroneously returns the common ancestor of the |window| in question and a modal window in case of window-modality of the modal window. What should be returned is the modal window because it is the one that blocks the |window|. Fixes: QTBUG-106627 Change-Id: Ib4da6c1e9757629bbedbd8a16407cd6b5b0d5d27 Pick-to: 6.4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qguiapplication.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 3400643e8c..7ecdee7f0b 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -899,7 +899,7 @@ bool QGuiApplicationPrivate::isWindowBlocked(QWindow *window, QWindow **blocking
auto *current = window;
do {
if (current->isAncestorOf(modalWindow, QWindow::IncludeTransients)) {
- *blockingWindow = current;
+ *blockingWindow = modalWindow;
return true;
}
current = current->parent(QWindow::IncludeTransients);