Handle drag leave when performing platform drag of docks or toolbars
The existing widget machinery works through mouse positions. In order to correctly update state when a drag moves outside of a window it needs to see a move outside of the window. When the platform drag leaves the window a move to the outside of the window is now faked to not keep the layout in the hovered state of the last move event. Fixes: QTBUG-122944 Change-Id: I348f5281a200b78e6be4f11b3c25339d052783a5 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit d7fe948fdb79e919065875410dba14275a2a7478) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 157f7b47e460a388baa6f162383462febb2a0877)
This commit is contained in:
parent
2a54183bee
commit
be274b5283
@ -1300,6 +1300,11 @@ bool QMainWindow::event(QEvent *event)
|
||||
event->accept();
|
||||
return true;
|
||||
}
|
||||
case QEvent::DragLeave:
|
||||
if (!d->layout->draggingWidget)
|
||||
break;
|
||||
d->layout->hover(d->layout->draggingWidget, pos() - QPoint(-1, -1));
|
||||
return true;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user