forked from pool/kde-cli-tools5
c3381fc304
- Add keditfiletype-create-directory-if-it-doesnt-exist.patch to fix modifying filetypes on fresh user accounts (kde#356237) OBS-URL: https://build.opensuse.org/request/show/399114 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kde-cli-tools5?expand=0&rev=100
40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
From: Wolfgang Bauer <wbauer@tmo.at>
|
|
Date: Mon, 30 May 2016 13:49:31 +0000
|
|
Subject: Create ~/.local/share/mime/packages/ if it doesn't exist
|
|
X-Git-Url: http://quickgit.kde.org/?p=kde-cli-tools.git&a=commitdiff&h=c2aa2a46d51793d26dc6e93e60b5933cb1193e56
|
|
---
|
|
Create ~/.local/share/mime/packages/ if it doesn't exist
|
|
|
|
QStandardDirs::writableLocation() doesn't guarantee that the returned
|
|
directory actually exists.
|
|
So create it, otherwise saving the changes will fail if it isn't there.
|
|
BUG: 356237
|
|
FIXED-IN: 5.6.5
|
|
REVIEW: 128055
|
|
---
|
|
|
|
|
|
--- a/keditfiletype/mimetypewriter.cpp
|
|
+++ b/keditfiletype/mimetypewriter.cpp
|
|
@@ -21,6 +21,7 @@
|
|
#include "mimetypewriter.h"
|
|
|
|
#include <QDebug>
|
|
+#include <QDir>
|
|
#include <QFile>
|
|
#include <QMimeDatabase>
|
|
#include <QMimeType>
|
|
@@ -146,7 +147,10 @@
|
|
// and in ~/.local we don't really expect other packages to be installed anyway...
|
|
QString baseName = m_mimeType;
|
|
baseName.replace('/', '-');
|
|
- return QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/mime/") + "packages/" + baseName + ".xml" ;
|
|
+ QString packagesDirName = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/mime/") + "packages/";
|
|
+ // create the directory, the saving will fail if it doesn't exist (bug#356237)
|
|
+ QDir(packagesDirName).mkpath(QStringLiteral("."));
|
|
+ return packagesDirName + baseName + ".xml" ;
|
|
}
|
|
|
|
static QString existingDefinitionFile(const QString& mimeType)
|
|
|