-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.1.0
-
None
-
Fedora 18 and other platforms
Sequence to reproduce:
Post MouseButtonPress event (with correct localPos and globalPos) to draggable widget. Dragging mode should be initiated with start position in event->globalPos(). This works as expected in Qt4.8.
In Qt5.1 dragging mode initiated in position of system cursor - wrong behavior, I guess.
Seems to be issue in:
void QSimpleDrag::startDrag()
{
QBasicDrag::startDrag();
m_current_window = topLevelAt(QCursor::pos());
if (m_current_window) {
QPlatformDragQtResponse response = QWindowSystemInterface::handleDrag(m_current_window, drag()->mimeData(), QCursor::pos(), drag()->supportedActions());
setCanDrop(response.isAccepted());
updateCursor(response.acceptedAction());
} else {
setCanDrop(false);
updateCursor(Qt::IgnoreAction);
}
setExecutedDropAction(Qt::IgnoreAction);
}
QWindowSystemInterface::handleDrag is passed with QCursor::pos() but there should be globalPos() from event that initiate dragging.
- relates to
-
QTBUG-129567 tst_QWidget_window::tst_dnd_events() timeout on Ubuntu 24.04 GNOME X11
-
- In Progress
-