diff options
author | Hilderin <81109165+Hilderin@users.noreply.github.com> | 2024-06-07 19:55:58 -0400 |
---|---|---|
committer | Hilderin <81109165+Hilderin@users.noreply.github.com> | 2024-09-11 19:03:55 -0400 |
commit | 27d1fb63e11b092be812e9f1fbd8730598ae9999 (patch) | |
tree | b988053682602d883a618cc9800d023d2fc99e36 /core/variant | |
parent | 27552a2f26adcdba579cd804197de3942e8cb0ec (diff) | |
download | redot-engine-27d1fb63e11b092be812e9f1fbd8730598ae9999.tar.gz |
Fix Unable to use ResourceLoader in C# after threaded load in GDScript #92798
Diffstat (limited to 'core/variant')
-rw-r--r-- | core/variant/array.cpp | 10 | ||||
-rw-r--r-- | core/variant/array.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/core/variant/array.cpp b/core/variant/array.cpp index 54cd1eda2f..869499e668 100644 --- a/core/variant/array.cpp +++ b/core/variant/array.cpp @@ -803,6 +803,10 @@ bool Array::is_same_typed(const Array &p_other) const { return _p->typed == p_other._p->typed; } +bool Array::is_same_instance(const Array &p_other) const { + return _p == p_other._p; +} + uint32_t Array::get_typed_builtin() const { return _p->typed.type; } @@ -815,6 +819,12 @@ Variant Array::get_typed_script() const { return _p->typed.script; } +Array Array::create_read_only() { + Array array; + array.make_read_only(); + return array; +} + void Array::make_read_only() { if (_p->read_only == nullptr) { _p->read_only = memnew(Variant); diff --git a/core/variant/array.h b/core/variant/array.h index 3aa957b312..12824ee3f6 100644 --- a/core/variant/array.h +++ b/core/variant/array.h @@ -186,12 +186,14 @@ public: void set_typed(uint32_t p_type, const StringName &p_class_name, const Variant &p_script); bool is_typed() const; bool is_same_typed(const Array &p_other) const; + bool is_same_instance(const Array &p_other) const; uint32_t get_typed_builtin() const; StringName get_typed_class_name() const; Variant get_typed_script() const; void make_read_only(); bool is_read_only() const; + static Array create_read_only(); Array(const Array &p_base, uint32_t p_type, const StringName &p_class_name, const Variant &p_script); Array(const Array &p_from); |