summaryrefslogtreecommitdiffstats
path: root/pokemodr/PokemodTreeModel.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-06-04 15:31:35 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-06-04 15:31:35 +0000
commit4b94037433b6374fa902c1745a4169f6def12bb6 (patch)
tree560d587857e44952206b2598e2442b29f11937cd /pokemodr/PokemodTreeModel.cpp
parent2a34d37f69c21224a1f0795aa802b75300aa96da (diff)
downloadsigen-4b94037433b6374fa902c1745a4169f6def12bb6.tar.gz
sigen-4b94037433b6374fa902c1745a4169f6def12bb6.tar.xz
sigen-4b94037433b6374fa902c1745a4169f6def12bb6.zip
[FIX] Some Model errors with the tree
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@193 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/PokemodTreeModel.cpp')
-rw-r--r--pokemodr/PokemodTreeModel.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/pokemodr/PokemodTreeModel.cpp b/pokemodr/PokemodTreeModel.cpp
index 8b71a422..fbb0c707 100644
--- a/pokemodr/PokemodTreeModel.cpp
+++ b/pokemodr/PokemodTreeModel.cpp
@@ -50,11 +50,16 @@ QVariant PokemodTreeModel::headerData(int /*section*/, Qt::Orientation /*orienta
return QVariant();
}
-QModelIndex PokemodTreeModel::index(int row, int /*column*/, const QModelIndex& parent) const
+QModelIndex PokemodTreeModel::index(int row, int column, const QModelIndex& parent) const
{
- if (row < 0)
+ if ((row < -1) || (column < -1))
+ return QModelIndex();
+ if (row == -1)
return createIndex(row, 0, m_root);
- BaseModel* object = getItem(parent)->childItem(row);
+ BaseModel* model = getItem(parent);
+ if ((model->rowCount() <= row) || (1 <= column))
+ return QModelIndex();
+ BaseModel* object = model->childItem(row);
return createIndex(row, 0, object);
}