https://invent.kde.org/utilities/ark/-/commit/dac14f552fb147bf4c9f759611cdb3b544a500b9 From dac14f552fb147bf4c9f759611cdb3b544a500b9 Mon Sep 17 00:00:00 2001 From: Elvis Angelaccio Date: Sat, 14 Oct 2023 18:58:22 +0200 Subject: [PATCH] Fix checks using old ISO mimetype The inherits() method doesn't work with mimetype aliases, and since shared-mime-info 2.3 application/x-cd-image is an alias of application/vnd.efi.img --- a/kerfuffle/mimetypes.cpp +++ b/kerfuffle/mimetypes.cpp @@ -104,7 +104,8 @@ QMimeType determineMimeType(const QString& filename, MimePreference mp) } // #354344: ISO files are currently wrongly detected-by-content. - if (mimeFromExtension.inherits(QStringLiteral("application/x-cd-image"))) { + // TODO: drop application/x-cd-image once all distributions ship shared-mime-info >= 2.3 + if (mimeFromExtension.inherits(QStringLiteral("application/vnd.efi.img")) || mimeFromExtension.inherits(QStringLiteral("application/x-cd-image"))) { return mimeFromExtension; } --- a/part/part.cpp +++ b/part/part.cpp @@ -926,7 +926,9 @@ void Part::slotCompleted() qCWarning(ARK) << "No entry listed by the plugin"; displayMsgWidget(KMessageWidget::Warning, xi18nc("@info", "The archive is empty or Ark could not open its content.")); } else if (m_model->rowCount() == 1 && - m_model->archive()->mimeType().inherits(QStringLiteral("application/x-cd-image")) && + // TODO: drop application/x-cd-image once all distributions ship shared-mime-info >= 2.3 + (m_model->archive()->mimeType().inherits(QStringLiteral("application/x-cd-image")) || + m_model->archive()->mimeType().inherits(QStringLiteral("application/vnd.efi.img"))) && m_model->entryForIndex(m_model->index(0, 0))->fullPath() == QLatin1String("README.TXT")) { qCWarning(ARK) << "Detected ISO image with UDF filesystem"; displayMsgWidget(KMessageWidget::Warning, xi18nc("@info", "Ark does not currently support ISO files with UDF filesystem.")); -- GitLab