summaryrefslogtreecommitdiffstats
path: root/src/sql/models
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2012-02-08 09:35:38 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-08 14:43:18 +0100
commit678d56ccf1e6970c2cfe149b99f080ec1002c89f (patch)
tree810f3a14f043408a37ed5b61ad97d7e4f28b3e18 /src/sql/models
parentf3138fa080b1c6ce7ab28c4572c3cf647b3485c1 (diff)
QSqlTableModel::setData(): call dataChanged() before select()
Emit dataChanged() before a possible new select instead of after. The select reinserts all the rows, emitting signals for that, so there isn't any point to dataChanged() afterwards. Change-Id: I698a0d385f97104891343d94cc27e4ecf3a7233c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'src/sql/models')
-rw-r--r--src/sql/models/qsqltablemodel.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/sql/models/qsqltablemodel.cpp b/src/sql/models/qsqltablemodel.cpp
index d943b5d1dc..38705c70a9 100644
--- a/src/sql/models/qsqltablemodel.cpp
+++ b/src/sql/models/qsqltablemodel.cpp
@@ -506,6 +506,7 @@ bool QSqlTableModel::setData(const QModelIndex &index, const QVariant &value, in
}
row.setValue(index.column(), value);
+ emit dataChanged(index, index);
bool isOk = true;
if (d->strategy == OnFieldChange && row.op() != QSqlTableModelPrivate::Insert) {
@@ -517,8 +518,6 @@ bool QSqlTableModel::setData(const QModelIndex &index, const QVariant &value, in
select();
}
- emit dataChanged(index, index);
-
return isOk;
}