Windows QPA: Fix dock widget drag&drop failure
A previous change to fix QTBUG-85431 has caused this issue by emulating the behavior of the non-enhanced mouse event handler in a particular case, where mouse move events that did not change position were ignored. However, some of these events seem to be involved in the dock drag&drop implementation. This issue is also reproduced in pre-5.15 releases, predating the QTBUG-85431 fix, by disabling the enhanced mouse event handler by setting the QT_QPA_DISABLE_ENHANCED_MOUSE env var. However, the ignored events in the current issue seem to be non-client events only, while the QTBUG-85431 issue was related to client mouse events. So we can restrict the test added in the QTBUG-85431 fix and have both issues fixed. Fixes: QTBUG-92182 Change-Id: I98c0c8597912c7f4fe58af375a5a560695a82746 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 92198efbd2c696470711e7f24c5b6507bb664ce9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
9e271fe24c
commit
a4618c020d
@ -2187,7 +2187,7 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
|
||||
processMouseEvent(e); // the original mouse event
|
||||
return;
|
||||
}
|
||||
if (mouseMove && !positionChanged) {
|
||||
if (type == QEvent::MouseMove && !positionChanged) {
|
||||
// On Windows, and possibly other platforms, a touchpad can send a mouse move
|
||||
// that does not change position, between a press and a release. This may
|
||||
// confuse applications, so we always filter out these mouse events for
|
||||
|
Loading…
x
Reference in New Issue
Block a user