From d079d1787c9e5cadcf41a003666dc0746cc1cda0 Mon Sep 17 00:00:00 2001 From: midchildan Date: Sun, 23 Aug 2020 07:31:48 +0900 Subject: [PATCH] logic: explicitly add u+w permission when copying initial user data on Linux (#1072) --- src/lib_gui/platform_includes/includesLinux.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib_gui/platform_includes/includesLinux.h b/src/lib_gui/platform_includes/includesLinux.h index 8ddd496a..e5024e4b 100644 --- a/src/lib_gui/platform_includes/includesLinux.h +++ b/src/lib_gui/platform_includes/includesLinux.h @@ -3,6 +3,7 @@ #include #include +#include #include "AppPath.h" #include "FilePath.h" @@ -70,6 +71,13 @@ void setupApp(int argc, char* argv[]) utility::copyNewFilesFromDirectory( QString::fromStdWString(AppPath::getSharedDataPath().concatenate(L"user/").wstr()), userDataPath); + + // Add u+w permissions because the source files may be marked read-only in some distros + QDirIterator it(userDataPath, QDir::Files, QDirIterator::Subdirectories); + while (it.hasNext()) { + QFile f(it.next()); + f.setPermissions(f.permissions() | QFile::WriteOwner); + } } #endif // INCLUDES_DEFAULT_H