summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Yundt <jason@jasonyundt.email>2022-04-04 13:55:41 -0400
committerJason Yundt <jason@jasonyundt.email>2022-04-04 15:51:02 -0400
commit1cc7e7ec33a652647d63cb32fa164eceef87c653 (patch)
treeab98576b6f6c8d0c65f19aec3614c4d2a14870c3
parent53317bbe146dd19a919685df8d846c55568daba1 (diff)
Improve autoload inheritance error message
Autoloaded scripts should always inherit from Node. When you run a project that tries to autoload a script which doesn’t inherit from Node, then Godot gives an error. Before this change, the error said “Script does not inherit a Node”. That error message is a little bit misleading. If a class inherits a Node, then one of its superclasses has a Node. If a class inherits _from_ Node, then one of its superclasses is Node. This change corrects that mistake. Fixes #59884.
-rw-r--r--editor/editor_autoload_settings.cpp2
-rw-r--r--main/main.cpp2
-rw-r--r--modules/gdscript/tests/gdscript_test_runner.cpp2
3 files changed, 3 insertions, 3 deletions
diff --git a/editor/editor_autoload_settings.cpp b/editor/editor_autoload_settings.cpp
index b37b06748d..49bf24f864 100644
--- a/editor/editor_autoload_settings.cpp
+++ b/editor/editor_autoload_settings.cpp
@@ -406,7 +406,7 @@ Node *EditorAutoloadSettings::_create_autoload(const String &p_path) {
} else if (script.is_valid()) {
StringName ibt = script->get_instance_base_type();
bool valid_type = ClassDB::is_parent_class(ibt, "Node");
- ERR_FAIL_COND_V_MSG(!valid_type, nullptr, "Script does not inherit a Node: " + p_path + ".");
+ ERR_FAIL_COND_V_MSG(!valid_type, nullptr, "Script does not inherit from Node: " + p_path + ".");
Object *obj = ClassDB::instantiate(ibt);
diff --git a/main/main.cpp b/main/main.cpp
index b730f65286..c637d8748d 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -2336,7 +2336,7 @@ bool Main::start() {
} else if (script_res.is_valid()) {
StringName ibt = script_res->get_instance_base_type();
bool valid_type = ClassDB::is_parent_class(ibt, "Node");
- ERR_CONTINUE_MSG(!valid_type, "Script does not inherit a Node: " + info.path);
+ ERR_CONTINUE_MSG(!valid_type, "Script does not inherit from Node: " + info.path);
Object *obj = ClassDB::instantiate(ibt);
diff --git a/modules/gdscript/tests/gdscript_test_runner.cpp b/modules/gdscript/tests/gdscript_test_runner.cpp
index e8ddf90836..16c143f7d9 100644
--- a/modules/gdscript/tests/gdscript_test_runner.cpp
+++ b/modules/gdscript/tests/gdscript_test_runner.cpp
@@ -80,7 +80,7 @@ void init_autoloads() {
} else if (script.is_valid()) {
StringName ibt = script->get_instance_base_type();
bool valid_type = ClassDB::is_parent_class(ibt, "Node");
- ERR_CONTINUE_MSG(!valid_type, "Script does not inherit a Node: " + info.path);
+ ERR_CONTINUE_MSG(!valid_type, "Script does not inherit from Node: " + info.path);
Object *obj = ClassDB::instantiate(ibt);