diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index 9291201d881..05947f33804 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -313,9 +313,10 @@ inline void QDirPrivate::sortFileList(QDir::SortFlags sort, const QFileInfoList names->append(fi.fileName()); } } else { - QScopedArrayPointer si(new QDirSortItem[n]); + QVarLengthArray si; + si.reserve(n); for (qsizetype i = 0; i < n; ++i) - si[i] = QDirSortItem{l.at(i), sort}; + si.emplace_back(l.at(i), sort); #ifndef QT_BOOTSTRAPPED if (sort.testAnyFlag(QDir::LocaleAware)) {