From 2bc6b25c5655e17f65a3a7fd84ba38f203f5cf4a Mon Sep 17 00:00:00 2001 From: David Redondo Date: Tue, 5 Mar 2024 13:10:52 +0100 Subject: [PATCH] Map drag event positions to global during dock/toolbar drag Drag event positions are window relatives, QMainWindowLayout::hover expects global coordinates however. Fixes: QTBUG-122949 Pick-to: 6.6 Change-Id: I28469ba1b5ef88661e744d4cf87f6acab3eb2c72 Reviewed-by: David Edmundson Reviewed-by: Axel Spoerl (cherry picked from commit 986de654b8c3af57af6f76581e50ff9e54c98b20) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/widgets/qmainwindow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index 30176edd49a..8c3a52c01b3 100644 --- a/src/widgets/widgets/qmainwindow.cpp +++ b/src/widgets/widgets/qmainwindow.cpp @@ -1296,7 +1296,8 @@ bool QMainWindow::event(QEvent *event) if (!d->layout->draggingWidget) break; auto dragMoveEvent = static_cast(event); - d->layout->hover(d->layout->draggingWidget, dragMoveEvent->position().toPoint()); + d->layout->hover(d->layout->draggingWidget, + mapToGlobal(dragMoveEvent->position()).toPoint()); event->accept(); return true; }