diff options
Diffstat (limited to 'src/variant/callable_method_pointer.cpp')
-rw-r--r-- | src/variant/callable_method_pointer.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/variant/callable_method_pointer.cpp b/src/variant/callable_method_pointer.cpp index ea43632..10f2920 100644 --- a/src/variant/callable_method_pointer.cpp +++ b/src/variant/callable_method_pointer.cpp @@ -30,31 +30,27 @@ #include <godot_cpp/variant/callable_method_pointer.hpp> -//#include <godot_cpp/godot.hpp> - namespace godot { -static void call_custom_callable(void *userdata, const GDExtensionConstVariantPtr *p_args, GDExtensionInt p_argument_count, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) { +static void custom_callable_mp_call(void *userdata, const GDExtensionConstVariantPtr *p_args, GDExtensionInt p_argument_count, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) { CallableCustomMethodPointerBase *callable_method_pointer = (CallableCustomMethodPointerBase *)userdata; callable_method_pointer->call((const Variant **)p_args, p_argument_count, *(Variant *)r_return, *r_error); } -static void free_custom_callable(void *userdata) { +static void custom_callable_mp_free(void *userdata) { CallableCustomMethodPointerBase *callable_method_pointer = (CallableCustomMethodPointerBase *)userdata; memdelete(callable_method_pointer); } namespace internal { -Callable create_custom_callable(CallableCustomMethodPointerBase *p_callable_method_pointer) { - Object *object = p_callable_method_pointer->get_object(); - +Callable create_callable_from_ccmp(CallableCustomMethodPointerBase *p_callable_method_pointer) { GDExtensionCallableCustomInfo info = {}; info.callable_userdata = p_callable_method_pointer; info.token = internal::token; - info.object_id = object ? object->get_instance_id() : 0; - info.call_func = &call_custom_callable; - info.free_func = &free_custom_callable; + info.object_id = p_callable_method_pointer->get_object(); + info.call_func = &custom_callable_mp_call; + info.free_func = &custom_callable_mp_free; Callable callable; ::godot::internal::gdextension_interface_callable_custom_create(callable._native_ptr(), &info); |