diff --git a/src/libs/utils/mimetypes2/mimeglobpattern.cpp b/src/libs/utils/mimetypes2/mimeglobpattern.cpp index 66661c15ca8..354de1fb037 100644 --- a/src/libs/utils/mimetypes2/mimeglobpattern.cpp +++ b/src/libs/utils/mimetypes2/mimeglobpattern.cpp @@ -185,9 +185,10 @@ bool MimeGlobPattern::matchFileName(const QString &inputFileName) const return lastCharOK && QStringView{fileName}.mid(fileNameLength - 6, 5) == QLatin1String(".anim"); } case OtherPattern: - // Other fallback patterns: slow but correct method #if QT_CONFIG(regularexpression) - auto rx = QRegularExpression::fromWildcard(m_pattern); + // Other fallback patterns: slow but correct method + const QRegularExpression rx(QRegularExpression::anchoredPattern( + QRegularExpression::wildcardToRegularExpression(m_pattern))); return rx.match(fileName).hasMatch(); #else return false; diff --git a/src/libs/utils/mimetypes2/mimeglobpattern_p.h b/src/libs/utils/mimetypes2/mimeglobpattern_p.h index 7b68614df14..b23e0f45ec2 100644 --- a/src/libs/utils/mimetypes2/mimeglobpattern_p.h +++ b/src/libs/utils/mimetypes2/mimeglobpattern_p.h @@ -137,7 +137,7 @@ public: auto isMimeTypeEqual = [&mimeType](const MimeGlobPattern &pattern) { return pattern.mimeType() == mimeType; }; - removeIf(isMimeTypeEqual); + erase(std::remove_if(begin(), end(), isMimeTypeEqual), end()); } void match(MimeGlobMatchResult &result, const QString &fileName) const; diff --git a/src/libs/utils/mimetypes2/mimetype.h b/src/libs/utils/mimetypes2/mimetype.h index 38106cbd8c4..1e97f69b2f9 100644 --- a/src/libs/utils/mimetypes2/mimetype.h +++ b/src/libs/utils/mimetypes2/mimetype.h @@ -75,7 +75,11 @@ public: MimeType(); MimeType(const MimeType &other); MimeType &operator=(const MimeType &other); - QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(MimeType) + MimeType &operator=(MimeType &&other) noexcept + { + swap(other); + return *this; + } void swap(MimeType &other) noexcept { d.swap(other.d);