summaryrefslogtreecommitdiffstats
path: root/src/sql/models/qsqlquerymodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sql/models/qsqlquerymodel.cpp')
-rw-r--r--src/sql/models/qsqlquerymodel.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/sql/models/qsqlquerymodel.cpp b/src/sql/models/qsqlquerymodel.cpp
index dc9ef0d616..ea3bc7f20b 100644
--- a/src/sql/models/qsqlquerymodel.cpp
+++ b/src/sql/models/qsqlquerymodel.cpp
@@ -78,10 +78,10 @@ void QSqlQueryModelPrivate::prefetch(int limit)
atEnd = true; // this is the end.
}
if (newBottom.row() >= 0 && newBottom.row() > bottom.row()) {
- if (!resetting)
+ if (!nestedResetLevel)
q->beginInsertRows(QModelIndex(), bottom.row() + 1, newBottom.row());
bottom = newBottom;
- if (!resetting)
+ if (!nestedResetLevel)
q->endInsertRows();
} else {
bottom = newBottom;
@@ -215,10 +215,9 @@ bool QSqlQueryModel::canFetchMore(const QModelIndex &parent) const
void QSqlQueryModel::beginResetModel()
{
Q_D(QSqlQueryModel);
- if (!d->resetting) {
+ if (!d->nestedResetLevel)
QAbstractTableModel::beginResetModel();
- d->resetting = true;
- }
+ ++d->nestedResetLevel;
}
/*! \internal
@@ -226,10 +225,9 @@ void QSqlQueryModel::beginResetModel()
void QSqlQueryModel::endResetModel()
{
Q_D(QSqlQueryModel);
- if (d->resetting) {
- d->resetting = false;
+ --d->nestedResetLevel;
+ if (!d->nestedResetLevel)
QAbstractTableModel::endResetModel();
- }
}
/*! \fn int QSqlQueryModel::rowCount(const QModelIndex &parent) const