summaryrefslogtreecommitdiffstats
path: root/tests/auto/modeltest/dynamictreemodel.cpp
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2010-10-13 11:42:10 +0200
committerJason McDonald <jason.mcdonald@nokia.com>2010-10-15 14:23:24 +1000
commit6a007684823298721ba2bdb26c8c0f726201547a (patch)
treeee88155e7746faf99ca72dce92736bb90f7f2715 /tests/auto/modeltest/dynamictreemodel.cpp
parent98161f191ba6f3353404c61829e88419d7c4688a (diff)
Adjust the parent index for the itemsMoved call.
Not doing this causes the parent QModelIndexes to be out of sync with the model. The fix in fe350ca756df6392b3d0b7840351fccc89f9ef6f is extended to also use adjusted indexes in the itemMove call. Merge-request: 849 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com> (cherry picked from commit 62dc9c9602987f4381481cc5642e3ea0782bb418)
Diffstat (limited to 'tests/auto/modeltest/dynamictreemodel.cpp')
-rw-r--r--tests/auto/modeltest/dynamictreemodel.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/auto/modeltest/dynamictreemodel.cpp b/tests/auto/modeltest/dynamictreemodel.cpp
index b572eb16a1..fa634b6a5f 100644
--- a/tests/auto/modeltest/dynamictreemodel.cpp
+++ b/tests/auto/modeltest/dynamictreemodel.cpp
@@ -63,6 +63,13 @@ QModelIndex DynamicTreeModel::index(int row, int column, const QModelIndex &pare
QList<QList<qint64> > childIdColumns = m_childItems.value(parent.internalId());
+ const qint64 grandParent = findParentId(parent.internalId());
+ if (grandParent >= 0) {
+ QList<QList<qint64> > parentTable = m_childItems.value(grandParent);
+ Q_ASSERT(parent.column() < parentTable.size());
+ QList<qint64> parentSiblings = parentTable.at(parent.column());
+ Q_ASSERT(parent.row() < parentSiblings.size());
+ }
if (childIdColumns.size() == 0)
return QModelIndex();