-
Bug
-
Resolution: Fixed
-
P4: Low
-
5.5.1, 5.10.1
-
None
-
not applicable
-
687422abd (dev), ab628edbb (6.9)
If QSortFilterProxyModel::setFilter* removes an item which was selected, the beginRemoveRows in QSortFilterProxyModelPrivate::remove_proxy_interval triggers a QItemSelectionModel::selectionChanged. If in response to that dataChanged is called on the source model, QSortFilterProxyModelPrivate::remove_proxy_interval is called again and when the stack returns to the first invocation, the proxy intervals are not valid anymore.
tl;dr: changing the source model due to signals emitted during setFilter* crashes
For Gerrit Dashboard: QTBUG-50821 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
634601,4 | QItemSelectionModel: document danger with setData from selectionChanged | dev | qt/qtbase | Status: MERGED | +2 | 0 |
639219,2 | QItemSelectionModel: document danger with setData from selectionChanged | 6.9 | qt/qtbase | Status: MERGED | +2 | 0 |