From f353519e78380c04cffecfa4ceef222f37e8d83a Mon Sep 17 00:00:00 2001 From: Zhang Yu Date: Sun, 8 Nov 2020 21:12:40 +0800 Subject: Fix regular expression initialize with incorrect filters The filters used to construct regular expression is the parameter of QDirIteratorPrivate constructor,and not the member variable 'filters' of QDirIteratorPrivate. When using filters as QDir::NoFilter to construct QDirIteratorPrivate, then the regular expression will incorrectly initialize with QDir::CaseSensitive(result of QDir::NoFilter),and not Qt::CaseInsensitive(result of QDir::AllEntries). Therefore, using the '_filters' to replace the parameter 'filters' Fixes: QTBUG-88227 Pick-to: 5.15 Change-Id: I8a21fe1075fd95981e328a161a978e4fe546c9ca Reviewed-by: Simon Hausmann Reviewed-by: Oliver Wolff --- src/corelib/io/qdiriterator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/corelib/io/qdiriterator.cpp b/src/corelib/io/qdiriterator.cpp index 7a6c4f1edb..d958318708 100644 --- a/src/corelib/io/qdiriterator.cpp +++ b/src/corelib/io/qdiriterator.cpp @@ -125,7 +125,7 @@ class QDirIteratorPrivate { public: QDirIteratorPrivate(const QFileSystemEntry &entry, const QStringList &nameFilters, - QDir::Filters filters, QDirIterator::IteratorFlags flags, bool resolveEngine = true); + QDir::Filters _filters, QDirIterator::IteratorFlags flags, bool resolveEngine = true); void advance(); @@ -161,10 +161,10 @@ public: \internal */ QDirIteratorPrivate::QDirIteratorPrivate(const QFileSystemEntry &entry, const QStringList &nameFilters, - QDir::Filters filters, QDirIterator::IteratorFlags flags, bool resolveEngine) + QDir::Filters _filters, QDirIterator::IteratorFlags flags, bool resolveEngine) : dirEntry(entry) , nameFilters(nameFilters.contains(QLatin1String("*")) ? QStringList() : nameFilters) - , filters(QDir::NoFilter == filters ? QDir::AllEntries : filters) + , filters(QDir::NoFilter == _filters ? QDir::AllEntries : _filters) , iteratorFlags(flags) { #if QT_CONFIG(regularexpression) -- cgit v1.2.3