From 38ce3c67be185218a9ba79ad451e64d095e9dfd4 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Fri, 28 Jun 2024 11:31:15 +0200 Subject: [PATCH] Revert "QGestureManager: use gesture owner target if topLevelAt returns nullptr" This reverts commit 10c3dd87d3bc2e84d4f477888622f5fc7ed5d502. QtWidgets depends on the old QApplication::topLevelAt() behavior too much, especially for the single top level window case. It's not easy to be decoupled in this way. Task-number: QTBUG-113404 Task-number: QTBUG-125878 Task-number: QTBUG-126313 Pick-to: 6.7 6.5 Change-Id: Ica9753bfc85f54ef24ff3db12ea954b06b50b1f0 Reviewed-by: Volker Hilsheimer (cherry picked from commit 04b8b61ce56d552c1240a8f5e3f089edc7b56f52) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/kernel/qgesturemanager.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/widgets/kernel/qgesturemanager.cpp b/src/widgets/kernel/qgesturemanager.cpp index edb159bbbfa..c93876c5005 100644 --- a/src/widgets/kernel/qgesturemanager.cpp +++ b/src/widgets/kernel/qgesturemanager.cpp @@ -610,8 +610,7 @@ void QGestureManager::deliverEvents(const QSet &gestures, QWidget *child = topLevel->childAt(topLevel->mapFromGlobal(pt)); target = child ? child : topLevel; } - } - if (!target) { + } else { // or use the context of the gesture QObject *context = m_gestureOwners.value(gesture, 0); if (context->isWidgetType())