Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-129738

[REG 6.7.2->6.7.3] QPinchGesture Occasionally Finishes Prematurely

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.7.3
    • None
    • Tested and reproduced on a Google Pixel 7 running Android 14, Pixel 4a Android 13.

    Description

      A QPinchGesture can prematurely move from GestureStarted state to GestureFinished state without going through GestureUpdated. The consequence is that pinch-scaling a graphics view, for instance, becomes tricky and provides a poor user experience.

      The occurrence of this depends on the dynamics of the touch: I think it's likely to occur when there is a small amount of pan movement in the first touch. This has been reproduced on Android, the only touch screen platform I have access to.

      The pinch gesture's state moves to finished when a TouchEvent with a single point is processed, even when there are clearly two touch points on the device screen.

      A test case that reproduces the error is attached. The test case emits a debug statement when the premature transition to GestureFinished occurs. The fault doesn't happen on every gesture; it requires repeated trials to reproduce.

      The fault does not occur when built with 6.7.2.

      Attachments

        1. main.cpp
          3 kB
          Ken Appleby
        2. qpinchgesturetestcase.tar.gz
          2 kB
          Ken Appleby
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            kenappleby Ken Appleby
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes