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

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

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes