From 22e0060e596c73e614f88f1269893214cf24bf6a Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Mon, 13 Feb 2012 08:46:23 +0100 Subject: QSqlTableModel::indexInQuery(): fix for inserted rows Should return invalid QModelIndex since inserted row does not map to query. Change-Id: Ib1d15cf4198a7063717fb3f3b594b2b1d8a54dfe Reviewed-by: Yunqiao Yin --- src/sql/models/qsqltablemodel.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sql/models/qsqltablemodel.cpp b/src/sql/models/qsqltablemodel.cpp index b21a965c21..932bbbfd6b 100644 --- a/src/sql/models/qsqltablemodel.cpp +++ b/src/sql/models/qsqltablemodel.cpp @@ -1143,6 +1143,9 @@ int QSqlTableModel::rowCount(const QModelIndex &parent) const QModelIndex QSqlTableModel::indexInQuery(const QModelIndex &item) const { Q_D(const QSqlTableModel); + if (d->cache.value(item.row()).op() == QSqlTableModelPrivate::Insert) + return QModelIndex(); + const int rowOffset = d->insertCount(item.row()); return QSqlQueryModel::indexInQuery(createIndex(item.row() - rowOffset, item.column(), item.internalPointer())); } -- cgit v1.2.3