summaryrefslogtreecommitdiffstats
path: root/src/variant/callable_method_pointer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/variant/callable_method_pointer.cpp')
-rw-r--r--src/variant/callable_method_pointer.cpp16
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);