diff options
author | David Snopek <dsnopek@gmail.com> | 2023-10-22 18:35:59 -0500 |
---|---|---|
committer | David Snopek <dsnopek@gmail.com> | 2023-10-25 13:05:32 -0500 |
commit | 4b76485a4e44b56f5c985f8907b15f981c9a5419 (patch) | |
tree | c0e2ead20976e2a1cb285485186c1628e83f731c | |
parent | c82f2a37143c6e32a95a996e91c4387acf3f33b4 (diff) | |
download | redot-cpp-4b76485a4e44b56f5c985f8907b15f981c9a5419.tar.gz |
Switch to using `ObjectID` in custom callables
-rw-r--r-- | gdextension/gdextension_interface.h | 4 | ||||
-rw-r--r-- | src/variant/callable_method_pointer.cpp | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/gdextension/gdextension_interface.h b/gdextension/gdextension_interface.h index 240da6e..d58f022 100644 --- a/gdextension/gdextension_interface.h +++ b/gdextension/gdextension_interface.h @@ -392,7 +392,7 @@ typedef GDExtensionBool (*GDExtensionCallableCustomLessThan)(void *callable_user typedef void (*GDExtensionCallableCustomToString)(void *callable_userdata, GDExtensionBool *r_is_valid, GDExtensionStringPtr r_out); typedef struct { - /* Only `call_func` and `token` are strictly required, however, `object` should be passed if its not a static method. + /* Only `call_func` and `token` are strictly required, however, `object_id` should be passed if its not a static method. * * `token` should point to an address that uniquely identifies the GDExtension (for example, the * `GDExtensionClassLibraryPtr` passed to the entry symbol function. @@ -409,7 +409,7 @@ typedef struct { void *callable_userdata; void *token; - GDExtensionObjectPtr object; + GDObjectInstanceID object_id; GDExtensionCallableCustomCall call_func; GDExtensionCallableCustomIsValid is_valid_func; diff --git a/src/variant/callable_method_pointer.cpp b/src/variant/callable_method_pointer.cpp index 7934c73..ea43632 100644 --- a/src/variant/callable_method_pointer.cpp +++ b/src/variant/callable_method_pointer.cpp @@ -52,7 +52,7 @@ Callable create_custom_callable(CallableCustomMethodPointerBase *p_callable_meth GDExtensionCallableCustomInfo info = {}; info.callable_userdata = p_callable_method_pointer; info.token = internal::token; - info.object = object != nullptr ? object->_owner : nullptr; + info.object_id = object ? object->get_instance_id() : 0; info.call_func = &call_custom_callable; info.free_func = &free_custom_callable; |