Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.6.0
-
None
-
Os X 10.11, Windows 7 64bit
-
6f84a09dfbd15aac023580cf06e7b8c24f3b524c
Description
When a qml component is moved underneath the mouse pointer, the MouseArea.onEntered is not fired until the user moves the mouse at least 1 px.
I have attached an example mouseevents.qml file (and a video of this example) demonstrating the problem, it displays two squares, one red and one yellow, if the red square is clicked it is removed and the yellow square takes its place on screen. The yellow square is now under the mouse but has received no onEntered event.
I would expect the object now under the mouse to receive the onEntered event without the user having to first wiggle the mouse.
—
The real life instance of this occurring is where we have a ListView of elements with a uniform height. Each element has a 'delete' button on it that removes the row from the list, each button is also set to animate on mouse hover.
When you hit the delete button the row is removed and the list elements below are shifted up, the mouse, which has not moved, is now hovering over the delete button of the next row (which has moved up to take the place of the deleted row) but the hover animation never fires.
Attachments
Issue Links
- duplicates
-
QTBUG-33982 Position depending update of MouseArea containsMouse property
-
- Closed
-
-
QTBUG-42194 Provide a way to force re-evaluation of MouseArea's containsMouse property
-
- Closed
-
- relates to
-
QTBUG-36930 containsMouse property not updated correctly for overlapping mouse areas during dragging
-
- Open
-
For Gerrit Dashboard: QTBUG-52537 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
127724,5 | QQuickWindow: Process a synthetic hover once per frame | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |