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

DragHandler steals events from a MouseArea with preventStealing = true

    XMLWordPrintable

Details

    • Linux/X11
    • 090f404cf80da35734f712b02cc1543acecd5b62

    Description

      With the attached example the DragHandler steals the event from the MouseArea
      even if preventStealing is true.
      In particular we noticed that this behaviour is broken with touch screen and
      touch events. Conversaly interacting ONLY with mouse doesn't reproduce the
      problem, however the bug happens also with mouse too after touch interaction.
      To recap:

      • touch only: bug
      • mouse only: no bug
      • with mouse after some touch input: bug

      In particular the QtQuickControls 2 Popup seems to have a big role in this bug

      Steps for reproducing

      • BUG WITH TOUCH
        Try to drag the blue rectangle with a touch device.
        Nothing should happen since the mouse area has preventStealing (true) and thus should swallow the mouse events.
        What happen is that the orange rectagle is dragged effectively stealing the grab wrong
      • NO BUG WITH MOUSE
        Try to drag the blue rectangle with a mouse device. Nothing should happen
        since the mouse area should swallow the mouse events. ok
      • BUG WITH MOUSE AFTER USING TOUCH
        Try to drag the blue rectangle with a mouse device. Nothing should happen
        since the mouse area should swallow the mouse events. ok. Without closing
        the application do the same thing with touch events. You will trigger the bug
        as describe in the first example. Try to the same again with mouse. You will
        trigger the bug. wrong

      Attachments

        Issue Links

          Activity

            People

              srutledg Shawn Rutledge
              n.peroni Nicola Peroni
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: