summaryrefslogtreecommitdiffstats
path: root/core/object/object.cpp
diff options
context:
space:
mode:
authorDanil Alexeev <danil@alexeev.xyz>2023-10-04 07:54:03 +0300
committerDanil Alexeev <danil@alexeev.xyz>2023-10-04 19:44:32 +0300
commited0b3c08e15ee6345ece4b135a5e99870a8fc79f (patch)
treeac8fe0ff0c7dcb8d10e660c631946c8a3f58a6ee /core/object/object.cpp
parentbfd78bb917887cfc1fd842ba23570394cad8bedb (diff)
downloadredot-engine-ed0b3c08e15ee6345ece4b135a5e99870a8fc79f.tar.gz
Core: Fix `Object::has_method()` for script static methods
Diffstat (limited to 'core/object/object.cpp')
-rw-r--r--core/object/object.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/object/object.cpp b/core/object/object.cpp
index f62b93d0ff..eb645b3a92 100644
--- a/core/object/object.cpp
+++ b/core/object/object.cpp
@@ -666,8 +666,16 @@ bool Object::has_method(const StringName &p_method) const {
}
MethodBind *method = ClassDB::get_method(get_class_name(), p_method);
+ if (method != nullptr) {
+ return true;
+ }
- return method != nullptr;
+ const Script *scr = Object::cast_to<Script>(this);
+ if (scr != nullptr) {
+ return scr->has_static_method(p_method);
+ }
+
+ return false;
}
Variant Object::getvar(const Variant &p_key, bool *r_valid) const {