From 4fecfcc867f8215defaa40b50f0340654a36b4c7 Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Wed, 11 Sep 2024 17:03:28 +0300 Subject: [PATCH] QAbstractFileEngine: remove beginEntryList(QDir::Filters) It was kept so as not to break compilation of user code (overriding a function that doesn't exist in the base class). But as Marcus Tillmanns pointed out in a qtcreator code review, it can't work because QDirListing calls the virutal engine->beginEntryList(QDirListing::IteratorFlags). Removing beginEntryList(QDir::Filters) and getting a compile-timer error is better than the code failing silently in user code (all sub-classes of QAbstractFileEngine in qtbase have been already ported). QDir::entryList() isn't affected because it calls QAbstractFileEngine::entryList() which has an overload that works with QDir::Filters. Pick-to: 6.8 Change-Id: I3cb18402f602ac78a6b29be57e59febb2b9db7c0 Reviewed-by: Thiago Macieira --- src/corelib/io/qabstractfileengine.cpp | 10 ---------- src/corelib/io/qabstractfileengine_p.h | 3 --- src/corelib/io/qfsfileengine.cpp | 7 ------- src/corelib/io/qfsfileengine_p.h | 2 -- src/corelib/io/qresource.cpp | 7 ------- src/corelib/io/qresource_p.h | 2 -- .../auto/corelib/io/qdiriterator/tst_qdiriterator.cpp | 2 +- 7 files changed, 1 insertion(+), 32 deletions(-) diff --git a/src/corelib/io/qabstractfileengine.cpp b/src/corelib/io/qabstractfileengine.cpp index de228d50f49..43ceb21a57d 100644 --- a/src/corelib/io/qabstractfileengine.cpp +++ b/src/corelib/io/qabstractfileengine.cpp @@ -1033,16 +1033,6 @@ QFileInfo QAbstractFileEngineIterator::currentFileInfo() const \sa QDirListing */ -QAbstractFileEngine::IteratorUniquePtr -QAbstractFileEngine::beginEntryList(const QString &path, QDir::Filters filters, - const QStringList &filterNames) -{ - Q_UNUSED(path); - Q_UNUSED(filters); - Q_UNUSED(filterNames); - return {}; -} - QAbstractFileEngine::IteratorUniquePtr QAbstractFileEngine::beginEntryList(const QString &path, QDirListing::IteratorFlags filters, const QStringList &filterNames) diff --git a/src/corelib/io/qabstractfileengine_p.h b/src/corelib/io/qabstractfileengine_p.h index 13168479304..cc35d3c45d5 100644 --- a/src/corelib/io/qabstractfileengine_p.h +++ b/src/corelib/io/qabstractfileengine_p.h @@ -127,10 +127,7 @@ public: typedef QAbstractFileEngineIterator Iterator; using IteratorUniquePtr = std::unique_ptr; - virtual IteratorUniquePtr - beginEntryList(const QString &path, QDir::Filters filters, const QStringList &filterNames); virtual IteratorUniquePtr endEntryList() { return {}; } - virtual IteratorUniquePtr beginEntryList(const QString &path, QDirListing::IteratorFlags filters, const QStringList &filterNames); diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index 6610b6ecd66..a71b6f8e1e3 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -792,13 +792,6 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len) /*! \internal */ -QAbstractFileEngine::IteratorUniquePtr -QFSFileEngine::beginEntryList(const QString &path, QDir::Filters filters, - const QStringList &filterNames) -{ - return std::make_unique(path, filters, filterNames); -} - QAbstractFileEngine::IteratorUniquePtr QFSFileEngine::beginEntryList(const QString &path, QDirListing::IteratorFlags filters, const QStringList &filterNames) diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h index f6b3a39e647..c8ed1f71dc8 100644 --- a/src/corelib/io/qfsfileengine_p.h +++ b/src/corelib/io/qfsfileengine_p.h @@ -86,8 +86,6 @@ public: int handle() const override; #ifndef QT_NO_FILESYSTEMITERATOR - IteratorUniquePtr beginEntryList(const QString &path, QDir::Filters filters, - const QStringList &filterNames) override; IteratorUniquePtr beginEntryList(const QString &path, QDirListing::IteratorFlags filters, const QStringList &filterNames) override; #endif diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp index bd208896861..eb82b7fd0e9 100644 --- a/src/corelib/io/qresource.cpp +++ b/src/corelib/io/qresource.cpp @@ -1585,13 +1585,6 @@ QDateTime QResourceFileEngine::fileTime(QFile::FileTime time) const /*! \internal */ -QAbstractFileEngine::IteratorUniquePtr -QResourceFileEngine::beginEntryList(const QString &path, QDir::Filters filters, - const QStringList &filterNames) -{ - return std::make_unique(path, filters, filterNames); -} - QAbstractFileEngine::IteratorUniquePtr QResourceFileEngine::beginEntryList(const QString &path, QDirListing::IteratorFlags filters, const QStringList &filterNames) diff --git a/src/corelib/io/qresource_p.h b/src/corelib/io/qresource_p.h index 00b6bddf3ec..7fbf4bc30a0 100644 --- a/src/corelib/io/qresource_p.h +++ b/src/corelib/io/qresource_p.h @@ -49,8 +49,6 @@ public: QDateTime fileTime(QFile::FileTime time) const override; - IteratorUniquePtr beginEntryList(const QString &path, QDir::Filters filters, - const QStringList &filterNames) override; IteratorUniquePtr beginEntryList(const QString &path, QDirListing::IteratorFlags filters, const QStringList &filterNames) override; diff --git a/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp b/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp index a0a8917c270..bb67f277775 100644 --- a/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp +++ b/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp @@ -437,7 +437,7 @@ public: { } IteratorUniquePtr - beginEntryList(const QString &, QDir::Filters, const QStringList &) override + beginEntryList(const QString &, QDirListing::IteratorFlags, const QStringList &) override { return nullptr; } };