Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.6.3, 5.11.1
-
None
-
a9559a8b84ec221550512fd7ff50f6fc5a569c59 (qt/qtdeclarative/5.12)
Description
If a ListView is scrolling when a model reset happens, the ListView will create a lot of extra, unnecessary delegates. These delegates are then immediately destroyed, the delegate count goes to 0, then enough delegates are recreated to show the ListView in its initial position.
In the attached example, there's a timer that resets the model every 2 seconds, to show the effect. During ordniary scrolling the delegate count is in the 55-60 range, but when a reset happens, the delegate count jumps to over 100. Playing that game a few times I was able to hit 200, i.e. almost FOUR times the normal amount of delegates.
Attachments
Issue Links
- relates to
-
QTBUG-70941 Invoking ListView.positionViewAtEnd locks up application if ListView is flicking
- Closed
For Gerrit Dashboard: QTBUG-70742 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
243093,3 | Item Views: cancel flicking before a model reset | 5.12 | qt/qtdeclarative | Status: MERGED | +2 | 0 |