Skip to content

Commit 0fb5445

Browse files
authored
fix: Check directory exists before listing files in it (#361)
1 parent a0e596e commit 0fb5445

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/helpers/files.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ namespace godot {
1414
}
1515

1616
Ref<DirAccess> folder_access {DirAccess::open(folder)};
17+
18+
if (folder_access.is_null()) {
19+
return;
20+
}
21+
1722
folder_access->list_dir_begin();
1823
String current_file{folder_access->get_next()};
1924
while (!current_file.is_empty()) {

src/resources/fmod_plugins_settings.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
#include "fmod_plugins_settings.h"
2+
3+
#include "constants.h"
4+
5+
#include <helpers/common.h>
6+
7+
#include <classes/file_access.hpp>
28
#include <classes/project_settings.hpp>
39
#include <classes/resource_loader.hpp>
4-
#include "constants.h"
510

611
using namespace godot;
712

@@ -34,6 +39,14 @@ Ref<FmodPluginsSettings> FmodPluginsSettings::get_from_project_settings() {
3439
return settings;
3540
}
3641

42+
if (!FileAccess::file_exists(resource_path)) {
43+
GODOT_LOG_WARNING(vformat("Cannot find FmodPluginsSettings at %s", resource_path));
44+
45+
Ref<FmodPluginsSettings> settings;
46+
settings.instantiate();
47+
return settings;
48+
}
49+
3750
Ref<FmodPluginsSettings> settings = ResourceLoader::get_singleton()->load(resource_path);
3851
return settings;
3952
}

0 commit comments

Comments
 (0)