From ff4252b0b6ff88b411a4eca0756c3c708f5fef77 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. Change-Id: I3cb18402f602ac78a6b29be57e59febb2b9db7c0 Reviewed-by: Thiago Macieira (cherry picked from commit 4fecfcc867f8215defaa40b50f0340654a36b4c7) Reviewed-by: Qt Cherry-pick Bot --- 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 4c78e1b1bf2..7122ce20b3b 100644 --- a/src/corelib/io/qabstractfileengine.cpp +++ b/src/corelib/io/qabstractfileengine.cpp @@ -1034,16 +1034,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 2a480db9552..ebefc35078a 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 26f52b8b7ba..445920c3f8d 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -791,13 +791,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 5e77804606a..c31658a8cd3 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 83df4e1aec1..62e5a9d8bde 100644 --- a/src/corelib/io/qresource.cpp +++ b/src/corelib/io/qresource.cpp @@ -1582,13 +1582,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 b739f0eb112..dd37c20239c 100644 --- a/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp +++ b/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp @@ -439,7 +439,7 @@ public: { } IteratorUniquePtr - beginEntryList(const QString &, QDir::Filters, const QStringList &) override + beginEntryList(const QString &, QDirListing::IteratorFlags, const QStringList &) override { return nullptr; } };