diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index 2c42e05e64..6147b5fff9 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -1608,6 +1608,12 @@ void FileDialog::_select_drive(int p_idx) { } void FileDialog::_change_dir(const String &p_new_dir) { + if (access == ACCESS_RESOURCES && p_new_dir.begins_with("user://")) { + ERR_FAIL_MSG("Can't change to userdata folder when using ACCESS_RESOURCES."); + } else if (access == ACCESS_USERDATA && p_new_dir.begins_with("res://")) { + ERR_FAIL_MSG("Can't change to resources folder when using ACCESS_USERDATA."); + } + if (root_prefix.is_empty()) { dir_access->change_dir(p_new_dir); } else {