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

App stops receiving touch events if the popup is dismissed on MacOS

    XMLWordPrintable

Details

    • macOS

    Description

      In the attached demo applciation:

       

      1. Try doing a pinch gesture with two fingers or rotate, you should observe under the Application Output the debug messages about the touch events
      2. Now click "Press Me" button and a popup should show up.
      3. Dismiss it by clicking away from it (click within the widget, not outside otherwise bug won't be reproduced, also don't press ESC).
      4. Once the popup is dismissed, try doing step 1, the touch events are no longer propagated to the widget. And it is no longer possible to receive them again, without destroying the window first.

       

      PS: I did some investigating as to why this could be happening, I think in https://github.com/qt/qtbase/blob/dev/src/widgets/kernel/qapplication.cpp#L3218-L3239 QApplication::notify we register/unregister window on Enter and Leave events and this is not properly balanced when the popup is created, specifically due to this check resulting in Enter event failing to propagate and balance things out.

      Attachments

        Issue Links

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

          Activity

            People

              srutledg Shawn Rutledge
              shzli SZ LI
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There is 1 open Gerrit change