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
Change-Id: I28469ba1b5ef88661e744d4cf87f6acab3eb2c72
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit 986de654b8c3af57af6f76581e50ff9e54c98b20)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2bc6b25c5655e17f65a3a7fd84ba38f203f5cf4a)
This commit is contained in:
David Redondo 2024-03-05 13:10:52 +01:00 committed by Qt Cherry-pick Bot
parent be274b5283
commit e9431e34a4

View File

@ -1296,7 +1296,8 @@ bool QMainWindow::event(QEvent *event)
if (!d->layout->draggingWidget)
break;
auto dragMoveEvent = static_cast<QDragMoveEvent *>(event);
d->layout->hover(d->layout->draggingWidget, dragMoveEvent->position().toPoint());
d->layout->hover(d->layout->draggingWidget,
mapToGlobal(dragMoveEvent->position()).toPoint());
event->accept();
return true;
}