diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2009-11-10 13:40:34 (GMT) |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2009-11-10 13:40:34 (GMT) |
commit | 2c4bbeecd084bf4565643d4cd42de3be1aed5681 (patch) | |
tree | dc40f7bba6c74248c9a0359b05b39bce0e6decb2 /src/sql/models/qsqlquerymodel.cpp | |
parent | d1c5585faa066a6693c24600cf8a1c42a285fe3b (diff) | |
parent | 7b15c669c336a1d76e3ac001fadde38a294e3e80 (diff) | |
download | Qt-2c4bbeecd084bf4565643d4cd42de3be1aed5681.zip Qt-2c4bbeecd084bf4565643d4cd42de3be1aed5681.tar.gz Qt-2c4bbeecd084bf4565643d4cd42de3be1aed5681.tar.bz2 |
Merge remote branch 'mainline/4.6' into 4.6
Conflicts:
tools/configure/configureapp.cpp
Diffstat (limited to 'src/sql/models/qsqlquerymodel.cpp')
-rw-r--r-- | src/sql/models/qsqlquerymodel.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/sql/models/qsqlquerymodel.cpp b/src/sql/models/qsqlquerymodel.cpp index 1719239..319055e 100644 --- a/src/sql/models/qsqlquerymodel.cpp +++ b/src/sql/models/qsqlquerymodel.cpp @@ -314,6 +314,7 @@ void QSqlQueryModel::setQuery(const QSqlQuery &query) QSqlRecord newRec = query.record(); bool columnsChanged = (newRec != d->rec); bool hasQuerySize = query.driver()->hasFeature(QSqlDriver::QuerySize); + bool hasNewData = (newRec != QSqlRecord()) || !query.lastError().isValid(); if (d->colOffsets.size() != newRec.count() || columnsChanged) d->initColOffsets(newRec.count()); @@ -328,13 +329,13 @@ void QSqlQueryModel::setQuery(const QSqlQuery &query) d->error = QSqlError(); d->query = query; d->rec = newRec; - + if (mustClearModel) endRemoveRows(); - - d->atEnd = false; - if (columnsChanged) + d->atEnd = false; + + if (columnsChanged && hasNewData) reset(); if (!query.isActive() || query.isForwardOnly()) { |