diff options
author | Olivier Goffart <ogoffart@trolltech.com> | 2009-05-04 14:21:10 +0200 |
---|---|---|
committer | Olivier Goffart <ogoffart@trolltech.com> | 2009-05-04 14:21:10 +0200 |
commit | 4a079000243ed05ce37d3c7055b5bd56c7ccf85d (patch) | |
tree | 3bb9bf991e13a8e211cd9c56c0adb249ebe1a697 /src/gui/itemviews/qsortfilterproxymodel.cpp | |
parent | 5dec3808ed6724a096e5dfc579d37e8528de75e0 (diff) | |
parent | c368a8ed6badab846c8e63c26d48b95788c12163 (diff) |
Merge commit 'origin/4.5'
Conflicts:
src/gui/itemviews/qabstractitemview.cpp
Diffstat (limited to 'src/gui/itemviews/qsortfilterproxymodel.cpp')
-rw-r--r-- | src/gui/itemviews/qsortfilterproxymodel.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp index fee19c9da2..56925b8ffa 100644 --- a/src/gui/itemviews/qsortfilterproxymodel.cpp +++ b/src/gui/itemviews/qsortfilterproxymodel.cpp @@ -153,6 +153,7 @@ public: const QModelIndex &proxy_index) const { Q_ASSERT(proxy_index.isValid()); + Q_ASSERT(proxy_index.model() == q_func()); const void *p = proxy_index.internalPointer(); Q_ASSERT(p); QMap<QModelIndex, Mapping *>::const_iterator it = @@ -320,6 +321,10 @@ QModelIndex QSortFilterProxyModelPrivate::proxy_to_source(const QModelIndex &pro { if (!proxy_index.isValid()) return QModelIndex(); // for now; we may want to be able to set a root index later + if (proxy_index.model() != q_func()) { + qWarning() << "QSortFilterProxyModel: index from wrong model passed to mapToSource"; + return QModelIndex(); + } IndexMap::const_iterator it = index_to_iterator(proxy_index); Mapping *m = it.value(); if ((proxy_index.row() >= m->source_rows.size()) || (proxy_index.column() >= m->source_columns.size())) @@ -333,6 +338,10 @@ QModelIndex QSortFilterProxyModelPrivate::source_to_proxy(const QModelIndex &sou { if (!source_index.isValid()) return QModelIndex(); // for now; we may want to be able to set a root index later + if (source_index.model() != model) { + qWarning() << "QSortFilterProxyModel: index from wrong model passed to mapFromSource"; + return QModelIndex(); + } QModelIndex source_parent = source_index.parent(); IndexMap::const_iterator it = create_mapping(source_parent); Mapping *m = it.value(); |