summaryrefslogtreecommitdiff
path: root/core/variant
diff options
context:
space:
mode:
authorreduz <reduzio@gmail.com>2022-03-23 21:08:54 +0100
committerreduz <reduzio@gmail.com>2022-03-24 14:21:52 +0100
commit09b951b99b1a8e799b00adaa896c788949c18017 (patch)
tree4a81fb9584b90063c651758ba53b16462083fe66 /core/variant
parentd7d528c15f0e858b52bb0f510ff47e65c2341de1 (diff)
Refactor Object metadata
* API kept the same (Although functions could be renamed to set_metadata/get_metadata in a later PR), so not much should change. * Metadata now exposed as individual properties. * Properties are editable in inspector (unless metadata name begins with _) under the metadata/ namespace. * Added the ability to Add/Remove metadata properties to the inspector. This is a functionality that was requested very often, that makes metadata work a bit more similar to custom properties in Blender.
Diffstat (limited to 'core/variant')
-rw-r--r--core/variant/variant_construct.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/core/variant/variant_construct.h b/core/variant/variant_construct.h
index 6027cb027e..ce2e9af04f 100644
--- a/core/variant/variant_construct.h
+++ b/core/variant/variant_construct.h
@@ -543,14 +543,12 @@ public:
class VariantConstructNoArgsObject {
public:
static void construct(Variant &r_ret, const Variant **p_args, Callable::CallError &r_error) {
- VariantInternal::clear(&r_ret);
- VariantInternal::object_assign_null(&r_ret);
+ r_ret = (Object *)nullptr; // Must construct a TYPE_OBJECT containing nullptr.
r_error.error = Callable::CallError::CALL_OK;
}
static inline void validated_construct(Variant *r_ret, const Variant **p_args) {
- VariantInternal::clear(r_ret);
- VariantInternal::object_assign_null(r_ret);
+ *r_ret = (Object *)nullptr; // Must construct a TYPE_OBJECT containing nullptr.
}
static void ptr_construct(void *base, const void **p_args) {
PtrConstruct<Object *>::construct(nullptr, base);