Scrollbar thumb shows as hovered after touch release
Bug #1616868 reported by
Andrea Bernabei
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Fix Committed
|
High
|
Unassigned | ||
ubuntu-ui-toolkit (Ubuntu) |
Fix Released
|
High
|
Andrea Bernabei | ||
ubuntu-ui-toolkit (Ubuntu RTM) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
ubuntu-ui-toolkit r2079
The fix to bug #1608897 created another issue.
Since MouseArea does not get the exited() signal on touch release (to be investigated if that's intended), dragging the thumb with touchscreen and releasing while the finger is still inside the area of the thumb will cause the thumb to show as hovered even after release.
Related branches
lp://staging/~faenil/ubuntu-ui-toolkit/scrollbar_moreHoverFixesAndTests
- ubuntu-sdk-build-bot: Needs Fixing (continuous-integration)
- Cris Dywan: Approve
-
Diff: 662 lines (+290/-154)3 files modifiedsrc/Ubuntu/Components/Themes/Ambiance/1.3/ScrollbarStyle.qml (+49/-28)
tests/unit/visual/ScrollbarTestCase13.qml (+3/-0)
tests/unit/visual/tst_scrollbar.13.qml (+238/-126)
Changed in ubuntu-ui-toolkit (Ubuntu): | |
assignee: | nobody → Andrea Bernabei (faenil) |
importance: | Undecided → High |
status: | New → Triaged |
summary: |
- Scrollbar shows as hovered after touch release + Scrollbar thumb shows as hovered after touch release |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
status: | Triaged → In Progress |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in canonical-devices-system-image: | |
status: | New → Fix Committed |
importance: | Undecided → High |
milestone: | none → backlog |
To post a comment you must log in.
Implemented solution: since touch does not fire onEntered, when the user is dragging using touch the hover logic is not called. Hence we should not call handleHover in onReleased of the MouseArea because that also fires when touch is released.
We should instead call it in the Mouse.onReleased ignoreSynthesiz edEvents: true" so Mouse.onReleased will not fire on touch release, just mouse release, which is what we want.
The area handling the interaction with the thumb has "Mouse.