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

A newly opened modal dialog might need to be touched twice to react

XMLWordPrintable

      if a modal dialog gets open while the user has not yet released their touch, then the very first TouchBegin on the dialog would not be translated to a MousePressButton.
      It happens when a TouchCancel is dispatched to the application instead of a TouchEnd. But because the TouchEnd is not even locally passed to processMouseEvent in qguiapplication.cpp and a fake mouse event is not going to be created, the associated QT internal flags like "buttons" (again in qguiapplication.cpp) don't get cleared properly. This prevents the next TouchBegin from being translated to a synthesized mouse event in function processMouseEvent as there the mouse state (stateChange) would not show any changes then.
      I'll attach a patch which demonstrates the easiest and the least intrusive way of fixing this problem. The proposed change is just a reset of "buttons" in the right place.

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

            paeglis Gatis Paeglis
            alexsednz Ali Sedighi
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes