diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-18 16:35:14 +0100 |
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-18 16:35:14 +0100 |
| commit | baf87e2717d2be4e2c8a43ff8d3e5f789125935f (patch) | |
| tree | 5b5113d42b516b137993c64b08a937a9bfbf1f64 /core/object | |
| parent | 33f3511241b0ae90ee995879bf2c7eec33221327 (diff) | |
| parent | b4e08eb752cca0135208ed0729479e1d9c87773d (diff) | |
| download | redot-engine-baf87e2717d2be4e2c8a43ff8d3e5f789125935f.tar.gz | |
Merge pull request #87294 from vnen/allow-free-callable
Allow `free()` to be used as Callable
Diffstat (limited to 'core/object')
| -rw-r--r-- | core/object/class_db.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/core/object/class_db.cpp b/core/object/class_db.cpp index bf1bd0de93..45fbb19f88 100644 --- a/core/object/class_db.cpp +++ b/core/object/class_db.cpp @@ -31,6 +31,7 @@ #include "class_db.h" #include "core/config/engine.h" +#include "core/core_string_names.h" #include "core/io/resource_loader.h" #include "core/object/script_language.h" #include "core/os/mutex.h" @@ -1299,6 +1300,12 @@ bool ClassDB::get_property(Object *p_object, const StringName &p_property, Varia check = check->inherits_ptr; } + // The "free()" method is special, so we assume it exists and return a Callable. + if (p_property == CoreStringNames::get_singleton()->_free) { + r_value = Callable(p_object, p_property); + return true; + } + return false; } |
