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

On Mac OS X, overlaid multitouch capable elements conflicts between them when using the trackpad

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.11.0 Beta 3
    • 5.10.0, 5.9.4
    • None
    • Mac OS High Sierra 10.13.2, Qt 5.10, Qt 5.9.4
    • macOS
    • 936570a3b3440ed2508bacb9b9916381cb864ffb

    Description

      When a component that makes use of multi point touch handling such as the ListView (or Flickable) is interacted with the two finger scroll gesture and it is place above another interactive element such as the Multi Point Touch Area, the two interact with each other even being on different layers and separated by another non interactive item such as a Rectangle item.

      It seems that the touch points are not grabbed by the ListView and therefore accepted by Multi Point Touch Area, causing a complete mess. ListView gets pressed when it shouldn't and the MultiPointTouchArea gets interacted when it shouldn't.

      It seems that this is not a new bug. I thought this was introduced in Qt 5.10 but I can reproduce it on older versions of my software using Qt 5.8 and I also can reproduce it using the most recent Qt 5.9.4 and Qt 5.10.

      Also, this seems to only happen on Mac OS X with the Magic Trackpad and the builtin trackpad of Macbook computers. I don't have problems with both iOS and Android kits. I didn't test on Windows with a multi touch screen yet.

      I have attached a minimal example that reproduces the problem. A ListView is laid over a rectangle that is laid over a multi point touch area that does nothing, is just sit there in the back. The multipoint touch area enabled property is bound to the button checked property.

      When you interact with the ListView using a Magic Trackpad or a trackpad with the two finger gesture, you will notice the scroll bar is jumping while scrolling. You will also notice console output being printed. You will also notice that the items of the list gets pressed when they shouldn't. However, if you click on the button at the bottom which will disable the Multipoint Touch Area, it will stop having that behaviour.

      Attachments

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            sinosoidal Nuno Santos
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: