Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
4.6.2
-
None
-
47d3d5569e25d0e88259e1f0448d87325da0ab6a
Description
When a gesture "G" is triggered by events sent to QGV->viewport() (for example, QMouseEvent), and that trigger further causes cancelling of other gestures via cancel policy (QGesture::CancelAllInContext), and there is no recipient for the gesture "G" under the hotspot, Qt will assert/crash.
The crash is in QGraphicsScenePrivate::cancelGesturesForChildren, caused by null originalItem (Q_ASSERTed in debug builds).
The gesture "G" should be delivered to the scene, and if there is no recipient for the gesture, no cancels should happen. I.e. remove assertion and return if originalItem is null.
Test case attached.