diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index 3ad804b9e88..482e6d14fee 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)) {