From 8bdf319c28ae7844f8cdbf0af26c8bfc78ea50cc Mon Sep 17 00:00:00 2001 From: Karim Pinter Date: Mon, 26 Aug 2013 11:07:15 +0300 Subject: Fix for bindvalue(int) memory allocation problem QSqlResult::bindValue(int index, ...) is increasing the memory usage when called multiple times for same index Task-number: QTBUG-33169 Change-Id: I4f26125f6bb994bb430dc054df5761b6ddf03075 Reviewed-by: Konstantin Ritt Reviewed-by: Mark Brand --- src/sql/kernel/qsqlresult.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index 6959dc39f7..09b8f8d889 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -688,7 +688,9 @@ void QSqlResult::bindValue(int index, const QVariant& val, QSql::ParamType param { Q_D(QSqlResult); d->binds = PositionalBinding; - d->indexes[d->fieldSerial(index)].append(index); + QList& indexes = d->indexes[d->fieldSerial(index)]; + if (!indexes.contains(index)) + indexes.append(index); if (d->values.count() <= index) d->values.resize(index + 1); d->values[index] = val; -- cgit v1.2.3