diff options
author | Mikolaj Boc <mikolaj.boc@qt.io> | 2022-09-21 15:19:44 +0200 |
---|---|---|
committer | MikoĊaj Boc <Mikolaj.Boc@qt.io> | 2022-09-23 14:28:25 +0000 |
commit | 56eb4badb51cf9a59229d6668afcca1f4072e507 (patch) | |
tree | 766514b472b6540ed74b12deb6090bd01fbe3a51 /src | |
parent | c2df659c8d1a1a115eb2364ee883957ff6d86664 (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')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 2 |
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); |