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

QQuickWindowPrivate::updateCursor() does not change the cursor if cursorItem does not change

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Invalid
    • Affects Version/s: 5.12.7, 5.15
    • Fix Version/s: 5.12, 5.15
    • Component/s: Quick: SceneGraph
    • Labels:
      None

      Description

      In a Qt Quick Wayland compositor (one that does not use WaylandCursorItem though): Suppose the mouse enters a surface item(a descendant of QQuickItem) which represents a wayland surface. Then it becomes cursorItem when QQuickWindowPrivate::updateCursor() is called. In webOS QQuickWindowPrivate::updateCursor() can be called again by the wayland client. In this case updateCursor doesn't change the cursor because the item returned by findCursorItemAndHandler() is the same with cursorItem. Setting cursorItem to null triggers setCursor on the second call and gets the result expected.

      So it is suggested to add QQuickWindow::invalidateCursorItem that clears cursorItem of QQuickWindowPrivate. It results in the next updateCursor call to take effect even if a mouse move event is delivered to the same item.

      https://codereview.qt-project.org/c/qt/qtdeclarative/+/288656
       

        Attachments

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

          Activity

            People

            Assignee:
            jaeyoon.jung Jaeyoon Jung
            Reporter:
            hollis Hollis Kim (Inactive)
            PM Owner:
            Pasi Keränen Pasi Keränen
            RnD Owner:
            Volker Hilsheimer Volker Hilsheimer
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes