Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
None
-
5.11, 5.12, 5.13
-
None
-
8b91afe12e2b53d1fccded1e91cdc3e4290042b2
Description
In QMdiSubWindow in mouseMoveEvent there is this code block:
if ((mouseEvent->buttons() & Qt::LeftButton) || d->isInInteractiveMode) { if ((d->isResizeOperation() && d->resizeEnabled) || (d->isMoveOperation() && d->moveEnabled)) d->setNewGeometry(mapToParent(mouseEvent->pos())); return; }
Which is using QMouseEvent pos() to move the widget. If two mouseEvents happens to arrive right after each other, the window will jump around. As recommend in documentation of QMouseEvent pos(), globalPos() should be used instead. Issue can be seen in QTBUG-70974, which have another cause. This is a followup to potentially fix the pos() issue.