diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/itemviews/qabstractproxymodel.cpp | 1 | ||||
-rw-r--r-- | src/gui/itemviews/qsortfilterproxymodel.cpp | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/gui/itemviews/qabstractproxymodel.cpp b/src/gui/itemviews/qabstractproxymodel.cpp index b2a936a..7c239b2 100644 --- a/src/gui/itemviews/qabstractproxymodel.cpp +++ b/src/gui/itemviews/qabstractproxymodel.cpp @@ -84,6 +84,7 @@ QT_BEGIN_NAMESPACE //detects the deletion of the source model void QAbstractProxyModelPrivate::_q_sourceModelDestroyed() { + invalidatePersistentIndexes(); model = QAbstractItemModelPrivate::staticEmptyModel(); } diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp index 7e2faeb..45433e2 100644 --- a/src/gui/itemviews/qsortfilterproxymodel.cpp +++ b/src/gui/itemviews/qsortfilterproxymodel.cpp @@ -281,7 +281,8 @@ typedef QHash<QModelIndex, QSortFilterProxyModelPrivate::Mapping *> IndexMap; void QSortFilterProxyModelPrivate::_q_sourceModelDestroyed() { QAbstractProxyModelPrivate::_q_sourceModelDestroyed(); - _q_clearMapping(); + qDeleteAll(source_index_mapping); + source_index_mapping.clear(); } void QSortFilterProxyModelPrivate::remove_from_mapping(const QModelIndex &source_parent) |