From a61cdc88606fbd0230555f1657d0cd635ba4bb5b Mon Sep 17 00:00:00 2001 From: David Snopek Date: Sat, 21 Oct 2023 17:54:46 -0500 Subject: Add protections against registering classes that didn't use GDCLASS() --- include/godot_cpp/classes/wrapped.hpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'include/godot_cpp/classes/wrapped.hpp') diff --git a/include/godot_cpp/classes/wrapped.hpp b/include/godot_cpp/classes/wrapped.hpp index 2bbffc0..af2ce4c 100644 --- a/include/godot_cpp/classes/wrapped.hpp +++ b/include/godot_cpp/classes/wrapped.hpp @@ -202,6 +202,8 @@ protected: } \ \ public: \ + typedef m_class self_type; \ + \ static void initialize_class() { \ static bool initialized = false; \ if (initialized) { \ @@ -395,6 +397,10 @@ protected: return nullptr; \ } \ \ + static inline bool has_get_property_list() { \ + return false; \ + } \ + \ static void (Wrapped::*_get_get_property_list())(List * p_list) const { \ return nullptr; \ } \ @@ -416,6 +422,8 @@ protected: } \ \ public: \ + typedef m_class self_type; \ + \ static void initialize_class() {} \ \ static ::godot::StringName &get_class_static() { \ @@ -425,6 +433,17 @@ public: \ static ::godot::StringName &get_parent_class_static() { \ return m_inherits::get_class_static(); \ + } \ + \ + static GDExtensionObjectPtr create(void *data) { \ + return nullptr; \ + } \ + \ + static GDExtensionClassInstancePtr recreate(void *data, GDExtensionObjectPtr obj) { \ + return nullptr; \ + } \ + \ + static void free(void *data, GDExtensionClassInstancePtr ptr) { \ } \ \ static void *_gde_binding_create_callback(void *p_token, void *p_instance) { \ -- cgit v1.2.3