Merge pull request #25890 from neikeq/issue-25818

Fix Godot.Reference marshalling from MonoObject* to Variant
This commit is contained in:
Ignacio Etcheverry 2019-02-19 15:05:05 +01:00 committed by GitHub
commit 1174d10e3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -698,7 +698,11 @@ Variant mono_object_to_variant(MonoObject *p_obj) {
// GodotObject
if (CACHED_CLASS(GodotObject)->is_assignable_from(type_class)) {
Object *ptr = unbox<Object *>(CACHED_FIELD(GodotObject, ptr)->get_value(p_obj));
return ptr ? Variant(ptr) : Variant();
if (ptr != NULL) {
Reference *ref = Object::cast_to<Reference>(ptr);
return ref ? Variant(Ref<Reference>(ref)) : Variant(ptr);
}
return Variant();
}
if (CACHED_CLASS(NodePath) == type_class) {