From f1d3ed3a4adc2f1859102afb03b5c794d569940c Mon Sep 17 00:00:00 2001 From: Harald Fernengel Date: Fri, 26 Jun 2009 11:35:16 +0200 Subject: Manually fix bad merges and make sure everything compiles with 4.6. --- src/corelib/tools/qvector.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/corelib/tools/qvector.h') diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h index d9fad3aa28..c83e833562 100644 --- a/src/corelib/tools/qvector.h +++ b/src/corelib/tools/qvector.h @@ -436,8 +436,8 @@ void QVector::realloc(int asize, int aalloc) if (QTypeInfo::isComplex && asize < d->size && d->ref == 1 ) { // call the destructor on all objects that need to be // destroyed when shrinking - pOld = d->array + d->size; - pNew = d->array + asize; + pOld = p->array + d->size; + pNew = p->array + asize; while (asize < d->size) { (--pOld)->~T(); d->size--; @@ -447,23 +447,23 @@ void QVector::realloc(int asize, int aalloc) if (aalloc != d->alloc || d->ref != 1) { // (re)allocate memory if (QTypeInfo::isStatic) { - x.p = malloc(aalloc); + x.d = malloc(aalloc); Q_CHECK_PTR(x.p); x.d->size = 0; } else if (d->ref != 1) { - x.p = malloc(aalloc); + x.d = malloc(aalloc); Q_CHECK_PTR(x.p); if (QTypeInfo::isComplex) { x.d->size = 0; } else { - ::memcpy(x.p, p, sizeOfTypedData() + (qMin(aalloc, p->alloc) - 1) * sizeof(T)); + ::memcpy(x.p, p, sizeOfTypedData() + (qMin(aalloc, d->alloc) - 1) * sizeof(T)); x.d->size = d->size; } } else { QT_TRY { QVectorData *mem = static_cast(qRealloc(p, sizeOfTypedData() + (aalloc - 1) * sizeof(T))); Q_CHECK_PTR(mem); - x.p = p = mem; + x.d = d = mem; x.d->size = d->size; } QT_CATCH (const std::bad_alloc &) { if (aalloc > d->alloc) // ignore the error in case we are just shrinking. @@ -478,8 +478,8 @@ void QVector::realloc(int asize, int aalloc) if (QTypeInfo::isComplex) { QT_TRY { - pOld = d->array + x.d->size; - pNew = x.d->array + x.d->size; + pOld = p->array + x.d->size; + pNew = x.p->array + x.d->size; // copy objects from the old array into the new array while (x.d->size < qMin(asize, d->size)) { new (pNew++) T(*pOld++); @@ -491,13 +491,13 @@ void QVector::realloc(int asize, int aalloc) x.d->size++; } } QT_CATCH (...) { - free(x.d); + free(x.p); QT_RETHROW; } } else if (asize > x.d->size) { // initialize newly allocated memory to 0 - qMemSet(x.d->array + x.d->size, 0, (asize - x.d->size) * sizeof(T)); + qMemSet(x.p->array + x.d->size, 0, (asize - x.d->size) * sizeof(T)); } x.d->size = asize; -- cgit v1.2.3