From 8e0bc89e6477f82eee8ab853d1ccb76fd41f6a55 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 23 Feb 2022 11:27:20 +0100 Subject: [PATCH] Mimetypes v3: Fix build with Qt 5 Change-Id: I871952c5c4ed97d04bd7acdb9f4af225f1550b69 Reviewed-by: Jarek Kobus --- src/libs/utils/mimetypes2/mimeglobpattern.cpp | 5 +++-- src/libs/utils/mimetypes2/mimeglobpattern_p.h | 2 +- src/libs/utils/mimetypes2/mimetype.h | 6 +++++- 3 files changed, 9 insertions(+), 4 deletions(-) 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);