From: Arjun AK Date: Sun, 9 Nov 2014 13:50:30 +0000 (+0530) Subject: Ensure input is a valid regexp before enabling regexp filter mode X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/cbe1d6aca4b4d98c2299d0a9b38c0584413dfd74 Ensure input is a valid regexp before enabling regexp filter mode Checking whether the input contains '*', '?' or '[' alone will not do since there can be files with '[' in their name. REVIEW: 120986 BUG: 340470 FIXED-IN: 14.12 --- diff --git a/src/kitemviews/private/kfileitemmodelfilter.cpp b/src/kitemviews/private/kfileitemmodelfilter.cpp index 2e320f2d9..6c6f94ffa 100644 --- a/src/kitemviews/private/kfileitemmodelfilter.cpp +++ b/src/kitemviews/private/kfileitemmodelfilter.cpp @@ -43,10 +43,7 @@ void KFileItemModelFilter::setPattern(const QString& filter) m_pattern = filter; m_lowerCasePattern = filter.toLower(); - m_useRegExp = filter.contains('*') || - filter.contains('?') || - filter.contains('['); - if (m_useRegExp) { + if (filter.contains('*') || filter.contains('?') || filter.contains('[')) { if (!m_regExp) { m_regExp = new QRegExp(); m_regExp->setCaseSensitivity(Qt::CaseInsensitive); @@ -54,6 +51,9 @@ void KFileItemModelFilter::setPattern(const QString& filter) m_regExp->setPatternSyntax(QRegExp::WildcardUnix); } m_regExp->setPattern(filter); + m_useRegExp = m_regExp->isValid(); + } else { + m_useRegExp = false; } }