summaryrefslogtreecommitdiffstats
path: root/core/os/dir_access.cpp
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2017-12-06 20:25:41 +0100
committerPedro J. Estébanez <pedrojrulez@gmail.com>2017-12-06 20:46:38 +0100
commit7fb9508cfa65c6abb678c1f218528192dd617ba4 (patch)
treebff3967feea22404f39bde00639f08d7fb8cc1bb /core/os/dir_access.cpp
parent7459ade29873473bc08dd3e0aa78d8374d08e5c8 (diff)
downloadredot-engine-7fb9508cfa65c6abb678c1f218528192dd617ba4.tar.gz
Fix Windows-to-Linux export error
Now chmod() returns ERR_UNAVAILABLE by default, to signal the caller the problem is lack of support instead of a failed operation.
Diffstat (limited to 'core/os/dir_access.cpp')
-rw-r--r--core/os/dir_access.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp
index 6d4b46f4da..e19c8e8ea5 100644
--- a/core/os/dir_access.cpp
+++ b/core/os/dir_access.cpp
@@ -333,6 +333,9 @@ Error DirAccess::copy(String p_from, String p_to, int chmod_flags) {
if (err == OK && chmod_flags != -1) {
fdst->close();
err = fdst->_chmod(p_to, chmod_flags);
+ // If running on a platform with no chmod support (i.e., Windows), don't fail
+ if (err == ERR_UNAVAILABLE)
+ err = OK;
}
memdelete(fsrc);