From bf56db7ee6cb2835d4d660ce58e7d1edaee5961b Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Sun, 14 Oct 2012 22:54:57 +0200 Subject: [PATCH] Only install extra mimetypes if required, otherwise can break mime detection --- src/wizard.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/wizard.cpp b/src/wizard.cpp index 062f13dc..4539a3fc 100644 --- a/src/wizard.cpp +++ b/src/wizard.cpp @@ -491,12 +491,19 @@ void Wizard::installExtraMimes(QString baseName, QStringList globs) QString mimefile = baseName; mimefile.replace('/', '-'); KMimeType::Ptr mime = KMimeType::mimeType(baseName); + QStringList missingGlobs; + foreach(const QString & glob, globs) { + KMimeType::Ptr type = KMimeType::findByPath(glob, 0, true); + QString mimeName = type->name(); + if (!mimeName.contains("audio") && !mimeName.contains("video")) missingGlobs << glob; + } + if (missingGlobs.isEmpty()) return; if (!mime) { kDebug() << "KMimeTypeTrader: mimeType " << baseName << " not found"; } else { QStringList extensions = mime->patterns(); QString comment = mime->comment(); - foreach(const QString & glob, globs) { + foreach(const QString & glob, missingGlobs) { if (!extensions.contains(glob)) extensions << glob; } kDebug() << "EXTS: " << extensions; @@ -617,6 +624,7 @@ void Wizard::adjustSettings() { if (m_extra.installmimes->isChecked()) { QStringList globs; + globs << "*.mts" << "*.m2t" << "*.mod" << "*.ts" << "*.m2ts" << "*.m2v"; installExtraMimes("video/mpeg", globs); globs.clear(); -- 2.39.5