[launcher] Dragging a tile at the top of the launcher while autoscrolling makes autoscroll wrong afterwards
Bug #731449 reported by
Ugo Riboni
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
unity-2d |
Fix Released
|
Critical
|
Olivier Tilloy |
Bug Description
To reproduce consistently this but with the latest PPA version as of this date:
- Put many more items than fit the screen in launcher and favorite them
- Restart launcher
- Use autoscroll to scroll down N items
- Drag any of the items over the autoscroll area at the top and let it scroll all the way up, then drop the item so that it will be the first in the list.
- Exit the top autoscroll area and enter it again: you should see the launcher scrolling again
The amount of extra "wrong" scrolling in the last step appears to be the same as the height of N items.
Related branches
lp:~osomon/unity-2d/dnd-while-autoscrolling
- Ugo Riboni (community): Approve
-
Diff: 36 lines (+12/-2)1 file modifiedlauncher/ListViewDragAndDrop.qml (+12/-2)
Changed in unity-2d: | |
importance: | Undecided → High |
milestone: | none → 3.8 |
Changed in unity-2d: | |
milestone: | 3.8 → 3.10 |
Changed in unity-2d: | |
status: | New → Confirmed |
Changed in unity-2d: | |
importance: | High → Critical |
Changed in unity-2d: | |
milestone: | 3.10 → 3.8.2 |
Changed in unity-2d: | |
status: | In Progress → Fix Committed |
Changed in unity-2d: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
The issue is more easily observed by decreasing the value of the autoScrollVelocity property in Launcher.qml.
When dragging a tile upwards and to the point that the mouse cursor is over the auto-scroll area, if one leaves the mouse cursor there without moving the mouse at all, one will observe that the tile doesn’t get dropped at the top of the list when it is reached, but instead at the position where it was when the mouse cursor entered the auto-scroll area.
This is because the ListViewDragAndDrop component reacts to mouse position changes. Once the mouse position stops changing, the position of the tile is not updated anymore.