diff options
| author | Arjun AK <[email protected]> | 2014-11-09 19:20:30 +0530 |
|---|---|---|
| committer | Arjun AK <[email protected]> | 2014-11-09 19:36:20 +0530 |
| commit | cbe1d6aca4b4d98c2299d0a9b38c0584413dfd74 (patch) | |
| tree | 17216d4bf53cd6b902f1d7e9e1d7a89f9652e6a0 /src/kitemviews | |
| parent | 36f571a0cea38d58dba095934d10e594e9ccd15e (diff) | |
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
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/private/kfileitemmodelfilter.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
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; } } |
