summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfilesystemengine_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/io/qfilesystemengine_unix.cpp')
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
index c4fb709ddf..2c9fed530b 100644
--- a/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/src/corelib/io/qfilesystemengine_unix.cpp
@@ -662,17 +662,11 @@ bool QFileSystemEngine::removeFile(const QFileSystemEntry &entry, QSystemError &
bool QFileSystemEngine::setPermissions(const QFileSystemEntry &entry, QFile::Permissions permissions, QSystemError &error, QFileSystemMetaData *data)
{
mode_t mode = 0;
- if (permissions & QFile::ReadOwner)
+ if (permissions & (QFile::ReadOwner | QFile::ReadUser))
mode |= S_IRUSR;
- if (permissions & QFile::WriteOwner)
+ if (permissions & (QFile::WriteOwner | QFile::WriteUser))
mode |= S_IWUSR;
- if (permissions & QFile::ExeOwner)
- mode |= S_IXUSR;
- if (permissions & QFile::ReadUser)
- mode |= S_IRUSR;
- if (permissions & QFile::WriteUser)
- mode |= S_IWUSR;
- if (permissions & QFile::ExeUser)
+ if (permissions & (QFile::ExeOwner | QFile::ExeUser))
mode |= S_IXUSR;
if (permissions & QFile::ReadGroup)
mode |= S_IRGRP;