From f45f20285c33584d0887588eb33de78ff1fd16c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ignacio=20Rold=C3=A1n=20Etcheverry?= Date: Fri, 12 Aug 2022 08:38:33 +0200 Subject: Fix instance binding unreference callback regression This was a regression from 44691448911f1d29d4d79dbdd5553734761e57c4 The callback should be called, not only be called when the refcount reaches 0. For example, the C# callback needs to know when the refcount reaches 1, in order to swap to a weak GC handle. --- core/object/ref_counted.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'core') diff --git a/core/object/ref_counted.cpp b/core/object/ref_counted.cpp index 726e2c012c..cac2400744 100644 --- a/core/object/ref_counted.cpp +++ b/core/object/ref_counted.cpp @@ -85,7 +85,8 @@ bool RefCounted::unreference() { _get_extension()->unreference(_get_extension_instance()); } - die = die && _instance_binding_reference(false); + bool binding_ret = _instance_binding_reference(false); + die = die && binding_ret; } return die; -- cgit v1.2.3