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

Quick touch/mouse propagation has several bugs

    XMLWordPrintable

Details

    • 77d6aef4063a9bf18074609fc32d3ffeed88617c

    Description

      Filtered mouse release is not delivered if another touch started after a
      touchMouseId was activated. This means that any filters expecting a
      release event will not receive it if another touch is made before release
      of the touchMouseId.

      We prevent a touch becoming the touchMouseId in the child mouse filters
      if there were any existing touches. The normal event delivery, however,
      does not require a single touch.

      Flickable delayed press should be sent via normal event processing, as other
      touch/mouse events are now delivered in this way.

      The childMouseEventFilter()s are called for mouse events even if the target
      Item does not accept mouse presses.

      We often call childMouseEventFilter() multiple times for each event. This
      is bad because the gesture handling relies on claiming a gesture in one event,
      then stealing it in the next.

      PinchArea does not store the starting position at the original touch points,
      so other items can pass the dragThreshold before PinchArea and steal a gesture
      meant for PinchArea.

      Attachments

        For Gerrit Dashboard: QTBUG-40330
        # Subject Branch Project Status CR V

        Activity

          People

            martinj Martin Jones
            martinj Martin Jones
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes