Registered Member
|
I have a number of torrents which did not have their diskspace pre allocated, i svn up, restart KTorrent, started all torrents manually, and then this crashlog comes out.
|
Registered Member
|
|
Moderator
|
|
Registered Member
|
|
Registered Member
|
|
Registered Member
|
So example backtrace:
Relevant valgrind memcheck output:
So basically either ktorrent is calling proxy_model->invalidate*() at inappropriate time or Qt is buggy (I think the latter). QAbstractItemView only schedules layout changes when proxy_model->invalidate*() is called (i.e. QAbstractItemView recieves layoutChanged signal from the model). QAbstractItemView seems to be enforcing execution of the delayed layout update on the start of many methods but neither QAbstractItemView nor QTreeView do this in viewportEvent() (which leads to this bug). Therefore kt::View ends up in situation where invalid indices are used. Maybe KTorrent could enforce layout update with QAbstractItemView::executeDelayedItemsLayout by reimplementing viewportEvent()? |
Moderator
|
So this patch should then fix it :
http://ktorrent.org/misc/qt_scroll_crash_fix.patch Try it out (note patch doesn't contain fix for all QTreeView's just the torrent views, the peer view and the file view) |
Moderator
|
|
Registered Member
|
Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]