Browse Source

Check if global class file still exists before registering it

(cherry picked from commit e264ae20d2a828201a50868b3af334a3f8c8a37c)
Wilson E. Alvarez 5 years ago
parent
commit
4f9ca00294
1 changed files with 2 additions and 1 deletions
  1. 2 1
      core/script_language.cpp

+ 2 - 1
core/script_language.cpp

@@ -31,6 +31,7 @@
 #include "script_language.h"
 #include "script_language.h"
 
 
 #include "core/core_string_names.h"
 #include "core/core_string_names.h"
+#include "core/os/file_access.h"
 #include "core/project_settings.h"
 #include "core/project_settings.h"
 
 
 ScriptLanguage *ScriptServer::_languages[MAX_LANGUAGES];
 ScriptLanguage *ScriptServer::_languages[MAX_LANGUAGES];
@@ -166,7 +167,7 @@ void ScriptServer::init_languages() {
 
 
 			for (int i = 0; i < script_classes.size(); i++) {
 			for (int i = 0; i < script_classes.size(); i++) {
 				Dictionary c = script_classes[i];
 				Dictionary c = script_classes[i];
-				if (!c.has("class") || !c.has("language") || !c.has("path") || !c.has("base"))
+				if (!c.has("class") || !c.has("language") || !c.has("path") || !FileAccess::exists(c["path"]) || !c.has("base"))
 					continue;
 					continue;
 				add_global_class(c["class"], c["base"], c["language"], c["path"]);
 				add_global_class(c["class"], c["base"], c["language"], c["path"]);
 			}
 			}