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 Pick-to: 6.6 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>
This commit is contained in:
parent
2bc6b25c56
commit
157f7b47e4
@ -1301,6 +1301,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