Support for file not found in ConfigFile::Load and handle a few specific cases

EditorSettings::set_project_metadata: creates project_metadata.cfg if it doesn't exist
EditorPlugin::get_config: removed (not used)

Fixes #31444
This commit is contained in:
PouleyKetchoupp 2019-08-20 13:59:46 +02:00
parent fb5e8b509b
commit b49226e085
7 changed files with 23 additions and 20 deletions

View file

@ -38,6 +38,8 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <errno.h>
#if defined(UNIX_ENABLED)
#include <unistd.h>
#endif
@ -112,8 +114,15 @@ Error FileAccessUnix::_open(const String &p_path, int p_mode_flags) {
f = fopen(path.utf8().get_data(), mode_string);
if (f == NULL) {
last_error = ERR_FILE_CANT_OPEN;
return ERR_FILE_CANT_OPEN;
switch (errno) {
case ENOENT: {
last_error = ERR_FILE_NOT_FOUND;
} break;
default: {
last_error = ERR_FILE_CANT_OPEN;
} break;
}
return last_error;
} else {
last_error = OK;
flags = p_mode_flags;