summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-03-12 20:53:43 +0100
committerGitHub <noreply@github.com>2022-03-12 20:53:43 +0100
commit2724e5728875e3f676af8b5ab9fafdbe4c5261e0 (patch)
treeabc255b6e7b68e9de8454632e1db2de755dff0c9
parent71da4c4132904d8efb793010c5b5301085e8e917 (diff)
parent664c461d284978cb48b0c94a744f0b4bbacad61c (diff)
Merge pull request #58772 from keptsecret/fix_filedialog_user_data_access
Fix unable to change directory in user access mode
-rw-r--r--core/io/dir_access.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/io/dir_access.cpp b/core/io/dir_access.cpp
index 840f236708..73efdeb38e 100644
--- a/core/io/dir_access.cpp
+++ b/core/io/dir_access.cpp
@@ -250,6 +250,14 @@ DirAccess *DirAccess::create(AccessType p_access) {
DirAccess *da = create_func[p_access] ? create_func[p_access]() : nullptr;
if (da) {
da->_access_type = p_access;
+
+ // for ACCESS_RESOURCES and ACCESS_FILESYSTEM, current_dir already defaults to where game was started
+ // in case current directory is force changed elsewhere for ACCESS_RESOURCES
+ if (p_access == ACCESS_RESOURCES) {
+ da->change_dir("res://");
+ } else if (p_access == ACCESS_USERDATA) {
+ da->change_dir("user://");
+ }
}
return da;