Details
-
Bug
-
Resolution: Invalid
-
P1: Critical
-
6.4.2
-
None
-
-
fc740db1c (dev), c08cb9a98 (6.8), 38c9b92a2 (6.7)
Description
I have a listview of items with the following properties
The delegate has a progress bar who's value is updated over a different std::thread and the role's corresponding value change is queue notified over to the primary thread like so:
during the course of transfer I periodically position the view to the item being downloaded like so:
This is basically my FTP client's transfer queue and as you can see I am not using cachebuffer on the listview. Generally the setup works fine. However sometimes for small files which get downloaded very quickly the datchanged signal faults on memory which has already been freed as part of delegate destruction.
<callstack and other details to be continued after creating the bug with a bigger editor.. >
This is how the screen looks at the point of crash:
This is the faulting callstack of the primary thread and the historic callstack where the memory was freed:
setting the cachebuffer on the listview to an arbitrary large value of say 4096, from what I can tell, avoids the problem.
Attachments
Issue Links
- relates to
-
QTBUG-122658 ListView crashes when `reuseitems` is set after `positionViewAtIndex`
- Closed