Priority: P2: Important
Affects Version/s: 5.11
Fix Version/s: 5.11.2
Component/s: Quick: Core Declarative QML
Environment:macOS (seems to be a Mac-only problem)
If a currentItem/currentIndex exists the ItemViews (noticed with ListView) can sometimes get stuck to the current item whilst scrolling after a currentIndex is set.
This happens when you:
- click some item in the example (to set currentIndex and moveReason to SetIndex)
- scroll down really slowy (I'm using a Mac with an Apple Magic Mouse)
QQuickListView::viewportMoved uses vData.flicking und vData.moving (and hData counterparts) to detect mouse interaction. When scrolling slowly those properties are all "false" so moveReason is kept at SetIndex.
In this situation QQuickItemView::refill -> visibleItemsChanged -> updateHighlight -> updateTrackedItem -> trackedPositionChanged sometimes calls QQuickItem::setPosition with the currentItem's position which clashes with the scroll positioning.
The two changes for -----
----- seem to have made this bug more obvious as they both remove lines that reset moveReason. QTBUG-62864
Looks like this is related to the changes introduced in ae01e0dbf50cb6da1967e10eb95d63313dc5aa7a (
|For Gerrit Dashboard: QTBUG-67460|
|224990,5||Fix Flickable mouse wheel handling on macOS||5.11||qt/qtdeclarative||Status: MERGED||+2||0|
|225422,1||Fix Flickable mouse wheel handling on macOS||5.9||qt/qtdeclarative||Status: ABANDONED||0||0|
|225722,4||Flickable: fix another possible cause for out-of-sync moving flags||5.11||qt/qtdeclarative||Status: MERGED||+2||0|