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 <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>
This commit is contained in:
David Redondo 2024-03-05 13:10:52 +01:00 committed by Qt Cherry-pick Bot
parent 5605c5a32f
commit 2bc6b25c56

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;
}