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>bb10
parent
f3138fa080
commit
678d56ccf1
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue