From 517e50706b154254bb2b51f19b8678c6a8df2590 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 2 Dec 2009 14:35:09 +0100 Subject: Fix crash in QVector::reserve when reserving smaller size on a shared vector This backport part of the commit 480b395bd652a4ac6e3f2 Task-number: QTBUG-6416 --- src/corelib/tools/qvector.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h index 6c78abbcb5..2e88d6b995 100644 --- a/src/corelib/tools/qvector.h +++ b/src/corelib/tools/qvector.h @@ -315,7 +315,7 @@ void QVector::detach_helper() { realloc(d->size, d->alloc); } template void QVector::reserve(int asize) -{ if (asize > d->alloc || d->ref != 1) realloc(d->size, asize); d->capacity = 1; } +{ if (asize > d->alloc) realloc(d->size, asize); if (d->ref == 1) d->capacity = 1; } template void QVector::resize(int asize) { realloc(asize, (asize > d->alloc || (!d->capacity && asize < d->size && asize < (d->alloc >> 1))) ? -- cgit v1.2.3