1
0
kde-cli-tools5/keditfiletype-create-directory-if-it-doesnt-exist.patch
Raymond Wooninck c3381fc304 Accepting request 399114 from home:wolfi323:kde-cli-tools5
- 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
2016-06-01 08:43:27 +00:00

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)