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();
|
event->accept();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
case QEvent::DragLeave:
|
||||||
|
if (!d->layout->draggingWidget)
|
||||||
|
break;
|
||||||
|
d->layout->hover(d->layout->draggingWidget, pos() - QPoint(-1, -1));
|
||||||
|
return true;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user