Details
-
Bug
-
Resolution: Cannot Reproduce
-
P1: Critical
-
None
-
6.5.1
-
None
Description
This issue is related to QTBUG-116442. TL;DR, I think fixing QTBUG-116442 may also fix this issue.
In the attached example in QTBUG-116442, if run against Qt 6.5.1, the MouseArea will not emit the clicked signal for its second click (the third click in the testcase). The reason for this is a behavior change in QQuickItem:
void QQuickItem::mouseDoubleClickEvent(QMouseEvent *event) { event->ignore(); // <== this was introduced }
This ignore causes QQuickDeliveryAgent to cancel mouse event synthesis:
QCoreApplication::sendEvent(item, &mouseDoubleClick);
event.setAccepted(mouseDoubleClick.isAccepted());
if (!mouseDoubleClick.isAccepted())
cancelTouchMouseSynthesis(); // <== this happens
}
...And the consequence of this is that the cancel function sets "touchMouseId = -1" which prevents
} else if (touchMouseDevice == device && p.id() == touchMouseId) {
which fails to send MouseButtonRelease which is why, it seems, the click isn't received.
Attachments
Issue Links
- resulted from
-
QTBUG-102625 [REG 5.15 -> 6.0] Double click event does not fire when using DragHandler as a child of Window in Qt6
- Closed
-
QTBUG-116442 Doubleclick sent to first item when single-clicking alternating items
- Closed