ca69e5aeef
After the last row is moved, 0 will be returned when obtaining row and column data. At this time, QListView::doitemslayout will not call d->doitemslayout, so the QBspTree data structure will not be cleaned up, leaving a stale tree structure behind. This will trigger an assert during paintEvent handling if QListView is set to IconMode In QListView::ListMode the test for a valid model index doesn't use an assert. Call QListViewPrivate::clear explicitly if the column count is 0 so that the QBspTree and other data structures are cleared. Add a test case that simulates this scenario by implementing a model that returns a 0 column count for an index after the model structure was changed through a move of rows. Done-with: Volker Hilsheimer Fixes: QTBUG-95463 Pick-to: 5.15 6.1 6.2 Change-Id: I36419be5459b8ced930c619f538482ea1db4ad03 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> |
||
---|---|---|
.. | ||
qabstractitemview | ||
qcolumnview | ||
qdatawidgetmapper | ||
qfileiconprovider | ||
qheaderview | ||
qitemdelegate | ||
qitemeditorfactory | ||
qitemview | ||
qlistview | ||
qlistwidget | ||
qtableview | ||
qtablewidget | ||
qtreeview | ||
qtreewidget | ||
qtreewidgetitemiterator | ||
CMakeLists.txt |