From 626c0b6905e3fe74f6d8a9207188d609343eddaf Mon Sep 17 00:00:00 2001 From: George Marques Date: Thu, 29 Jul 2021 10:19:28 -0300 Subject: Add a instance callback for extensions This sends the Godot object instance back to the extension so they can keep a pointer for function calls. Incidentally fix argument order on instance bindings callback for free() --- core/object/object.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'core/object/object.cpp') diff --git a/core/object/object.cpp b/core/object/object.cpp index d552d5e5e0..c191109a8f 100644 --- a/core/object/object.cpp +++ b/core/object/object.cpp @@ -1815,7 +1815,7 @@ void Object::_construct_object(bool p_reference) { type_is_reference = p_reference; _instance_id = ObjectDB::add_instance(this); - ClassDB::instance_get_native_extension_data(&_extension, &_extension_instance); + ClassDB::instance_get_native_extension_data(&_extension, &_extension_instance, this); #ifdef DEBUG_ENABLED _lock_index.init(1); @@ -1876,7 +1876,7 @@ Object::~Object() { if (_instance_bindings != nullptr) { for (uint32_t i = 0; i < _instance_binding_count; i++) { if (_instance_bindings[i].free_callback) { - _instance_bindings[i].free_callback(_instance_bindings[i].token, _instance_bindings[i].binding, this); + _instance_bindings[i].free_callback(_instance_bindings[i].token, this, _instance_bindings[i].binding); } } memfree(_instance_bindings); -- cgit v1.2.3