From 56eb4badb51cf9a59229d6668afcca1f4072e507 Mon Sep 17 00:00:00 2001 From: Mikolaj Boc Date: Wed, 21 Sep 2022 15:19:44 +0200 Subject: [PATCH] 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 Reviewed-by: Volker Hilsheimer --- src/gui/kernel/qguiapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 3400643e8c8..7ecdee7f0b4 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);