summaryrefslogtreecommitdiffstats
path: root/core/os/dir_access.cpp
diff options
context:
space:
mode:
authorMarcelo Fernandez <marcelofg55@gmail.com>2017-09-17 14:40:58 -0300
committerMarcelo Fernandez <marcelofg55@gmail.com>2017-09-17 14:40:58 -0300
commit3528b1e571dee24917b0141232f135e29bf088ba (patch)
tree1994ea234d7c52dac02084242671348844bed3fc /core/os/dir_access.cpp
parent574a5714dcbf5fcf126f3f99caab62a345e665c1 (diff)
downloadredot-engine-3528b1e571dee24917b0141232f135e29bf088ba.tar.gz
Fix x11 exported executables not getting the +x flag
Diffstat (limited to 'core/os/dir_access.cpp')
-rw-r--r--core/os/dir_access.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp
index f24d6d16ca..1437e7cdfc 100644
--- a/core/os/dir_access.cpp
+++ b/core/os/dir_access.cpp
@@ -292,7 +292,7 @@ String DirAccess::get_full_path(const String &p_path, AccessType p_access) {
return full;
}
-Error DirAccess::copy(String p_from, String p_to) {
+Error DirAccess::copy(String p_from, String p_to, int chmod_flags) {
//printf("copy %s -> %s\n",p_from.ascii().get_data(),p_to.ascii().get_data());
Error err;
@@ -329,6 +329,11 @@ Error DirAccess::copy(String p_from, String p_to) {
fdst->store_8(fsrc->get_8());
}
+ if (err == OK && chmod_flags != -1) {
+ fdst->close();
+ err = fdst->_chmod(p_to, chmod_flags);
+ }
+
memdelete(fsrc);
memdelete(fdst);