From a6a5ef0fd690123d8f646bca47f7ae6e2ad3bbfe Mon Sep 17 00:00:00 2001 From: Ignacio Etcheverry Date: Mon, 13 Jan 2020 21:00:07 +0100 Subject: Mono/C#: Add error checks to detect possible Reference leaks --- modules/mono/mono_gd/gd_mono_internals.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'modules/mono/mono_gd/gd_mono_internals.cpp') diff --git a/modules/mono/mono_gd/gd_mono_internals.cpp b/modules/mono/mono_gd/gd_mono_internals.cpp index 8669182c4e..75aa77c7b0 100644 --- a/modules/mono/mono_gd/gd_mono_internals.cpp +++ b/modules/mono/mono_gd/gd_mono_internals.cpp @@ -83,7 +83,9 @@ void tie_managed_to_unmanaged(MonoObject *managed, Object *unmanaged) { // See: godot_icall_Reference_Dtor(MonoObject *p_obj, Object *p_ptr) // May not me referenced yet, so we must use init_ref() instead of reference() - ref->init_ref(); + if (ref->init_ref()) { + CSharpLanguage::get_singleton()->post_unsafe_reference(ref); + } } // The object was just created, no script instance binding should have been attached -- cgit v1.2.3