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

Drawer flickers on release when closing

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.7.1
    • 5.7
    • Quick: Controls 2
    • None
    • Touch
    • e83cbaddbfec2aaae157ef0223f1e8d38a3d37bc

    Description

      A touch device is needed to reproduce this.

      Steps:

      • open the drawer
      • drag the drawer half-way towards the window edge
      • release

      Expected:

      • drawer animates smoothly to the closed position

      Actual:

      • drawer flickers at fully opened position for one frame, and then continues animating from where it was previously
      import QtQuick 2.7
      import QtQuick.Window 2.2
      import QtQuick.Layouts 1.3
      import QtQuick.Controls 2.0
      
      ApplicationWindow {
          id: window
          width: 360
          height: 360
          visible: true
      
          Drawer {
              id: drawer
              width: window.width * 0.8
              height: window.height
          }
      
          Button {
              text: "Open"
              onClicked: drawer.open()
              anchors.centerIn: parent
          }
      }
      

      The problem is that QQuickWindow::translateTouchToMouse() sends a weird mouse move event at coordinates INF,INF to clear hover (https://codereview.qt-project.org/#/c/142532/). Drawer should probably ignore this extra move event instead of calculating its position based on the INF,INF coordinates.

      Attachments

        Issue Links

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

          Activity

            People

              Unassigned Unassigned
              jpnurmi J-P Nurmi
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes