summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-01-09 09:36:04 +0100
committerMarc Mutz <marc.mutz@qt.io>2023-01-12 19:54:12 +0100
commit7c5ff43ea322422f03f6b87768d825f2df6f1652 (patch)
tree2431b8f82d7e75de49cca13e082f13e553b43fc9 /src
parentd9d74723cc4b369f41530aff5b500d93779d5e32 (diff)
QVarLengthArray::resize_impl: don't default argument, overload
Separates the resize(n) and resize(n, v) code paths in preparation for fixing QTBUG-109745. Task-number: QTBUG-109745 Pick-to: 6.5 6.4 Change-Id: I49808ce4dc2f1de0de6af120990b2e00edb47728 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/tools/qvarlengtharray.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h
index 54603bcec1..469fbda2aa 100644
--- a/src/corelib/tools/qvarlengtharray.h
+++ b/src/corelib/tools/qvarlengtharray.h
@@ -207,8 +207,14 @@ protected:
void append_impl(qsizetype prealloc, void *array, const T *buf, qsizetype n);
void reallocate_impl(qsizetype prealloc, void *array, qsizetype size, qsizetype alloc, const T *v = nullptr);
- void resize_impl(qsizetype prealloc, void *array, qsizetype sz, const T *v = nullptr)
- { reallocate_impl(prealloc, array, sz, qMax(sz, capacity()), v); }
+ void resize_impl(qsizetype prealloc, void *array, qsizetype sz, const T &v)
+ {
+ reallocate_impl(prealloc, array, sz, qMax(sz, capacity()), &v);
+ }
+ void resize_impl(qsizetype prealloc, void *array, qsizetype sz)
+ {
+ reallocate_impl(prealloc, array, sz, qMax(sz, capacity()));
+ }
bool isValidIterator(const const_iterator &i) const
{
@@ -378,7 +384,7 @@ public:
template <typename U = T, if_copyable<U> = true>
#endif
void resize(qsizetype sz, const T &v)
- { Base::resize_impl(Prealloc, this->array, sz, &v); }
+ { Base::resize_impl(Prealloc, this->array, sz, v); }
inline void clear() { resize(0); }
void squeeze() { reallocate(size(), size()); }