|
Rex Dieter |
0c51e9d |
From c9edc4769d278f174d821cf6d9364fbca356b676 Mon Sep 17 00:00:00 2001
|
|
Rex Dieter |
0c51e9d |
From: David Faure <faure@kde.org>
|
|
Rex Dieter |
0c51e9d |
Date: Sun, 6 Mar 2016 19:35:08 +0100
|
|
Rex Dieter |
0c51e9d |
Subject: [PATCH 9/9] Fix handling of x-scheme-handler/* in mimeapps.list
|
|
Rex Dieter |
0c51e9d |
parsing.
|
|
Rex Dieter |
0c51e9d |
|
|
Rex Dieter |
0c51e9d |
Since this isn't a known mimetype, such lines were being ignored.
|
|
Rex Dieter |
0c51e9d |
|
|
Rex Dieter |
0c51e9d |
BUG: 358159
|
|
Rex Dieter |
0c51e9d |
FIXED-IN: 5.21
|
|
Rex Dieter |
0c51e9d |
---
|
|
Rex Dieter |
0c51e9d |
autotests/CMakeLists.txt | 2 +-
|
|
Rex Dieter |
0c51e9d |
autotests/kmimeassociationstest.cpp | 3 +++
|
|
Rex Dieter |
0c51e9d |
src/sycoca/kmimeassociations.cpp | 7 ++++---
|
|
Rex Dieter |
0c51e9d |
tests/CMakeLists.txt | 2 +-
|
|
Rex Dieter |
0c51e9d |
4 files changed, 9 insertions(+), 5 deletions(-)
|
|
Rex Dieter |
0c51e9d |
|
|
Rex Dieter |
0c51e9d |
diff --git a/src/sycoca/kmimeassociations.cpp b/src/sycoca/kmimeassociations.cpp
|
|
Rex Dieter |
0c51e9d |
index 2ddcc07..25ce3fe 100644
|
|
Rex Dieter |
0c51e9d |
--- a/src/sycoca/kmimeassociations.cpp
|
|
Rex Dieter |
0c51e9d |
+++ b/src/sycoca/kmimeassociations.cpp
|
|
Rex Dieter |
0c51e9d |
@@ -27,6 +27,7 @@
|
|
Rex Dieter |
0c51e9d |
#include <QFile>
|
|
Rex Dieter |
0c51e9d |
#include <qstandardpaths.h>
|
|
Rex Dieter |
0c51e9d |
#include <qmimedatabase.h>
|
|
Rex Dieter |
0c51e9d |
+#include "sycocadebug.h"
|
|
Rex Dieter |
0c51e9d |
|
|
Rex Dieter |
0c51e9d |
KMimeAssociations::KMimeAssociations(KOfferHash &offerHash, KServiceFactory *serviceFactory)
|
|
Rex Dieter |
0c51e9d |
: m_offerHash(offerHash), m_serviceFactory(serviceFactory)
|
|
Rex Dieter |
0c51e9d |
@@ -106,15 +107,15 @@ void KMimeAssociations::parseAddedAssociations(const KConfigGroup &group, const
|
|
Rex Dieter |
0c51e9d |
QMimeDatabase db;
|
|
Rex Dieter |
0c51e9d |
Q_FOREACH (const QString &mimeName, group.keyList()) {
|
|
Rex Dieter |
0c51e9d |
const QStringList services = group.readXdgListEntry(mimeName);
|
|
Rex Dieter |
0c51e9d |
- const QString resolvedMimeName = db.mimeTypeForName(mimeName).name();
|
|
Rex Dieter |
0c51e9d |
+ const QString resolvedMimeName = mimeName.startsWith("x-scheme-handler/") ? mimeName : db.mimeTypeForName(mimeName).name();
|
|
Rex Dieter |
0c51e9d |
if (resolvedMimeName.isEmpty()) {
|
|
Rex Dieter |
0c51e9d |
- //qDebug() << file << "specifies unknown mimeType" << mimeName << "in" << group.name();
|
|
Rex Dieter |
0c51e9d |
+ qCDebug(SYCOCA) << file << "specifies unknown mimeType" << mimeName << "in" << group.name();
|
|
Rex Dieter |
0c51e9d |
} else {
|
|
Rex Dieter |
0c51e9d |
int pref = basePreference;
|
|
Rex Dieter |
0c51e9d |
Q_FOREACH (const QString &service, services) {
|
|
Rex Dieter |
0c51e9d |
KService::Ptr pService = m_serviceFactory->findServiceByStorageId(service);
|
|
Rex Dieter |
0c51e9d |
if (!pService) {
|
|
Rex Dieter |
0c51e9d |
- //qDebug() << file << "specifies unknown service" << service << "in" << group.name();
|
|
Rex Dieter |
0c51e9d |
+ qDebug(SYCOCA) << file << "specifies unknown service" << service << "in" << group.name();
|
|
Rex Dieter |
0c51e9d |
} else {
|
|
Rex Dieter |
0c51e9d |
//qDebug() << "adding mime" << resolvedMimeName << "to service" << pService->entryPath() << "pref=" << pref;
|
|
Rex Dieter |
0c51e9d |
m_offerHash.addServiceOffer(resolvedMimeName, KServiceOffer(pService, pref, 0, pService->allowAsDefault()));
|
|
Rex Dieter |
0c51e9d |
--
|
|
Rex Dieter |
0c51e9d |
2.5.0
|
|
Rex Dieter |
0c51e9d |
|