summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/object/object.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/object/object.h b/core/object/object.h
index a3e9d025ea..318dbf98de 100644
--- a/core/object/object.h
+++ b/core/object/object.h
@@ -430,6 +430,9 @@ protected:
_FORCE_INLINE_ static void (*_get_bind_methods())() { \
return &m_class::_bind_methods; \
} \
+ _FORCE_INLINE_ static void (*_get_bind_compatibility_methods())() { \
+ return &m_class::_bind_compatibility_methods; \
+ } \
\
public: \
static void initialize_class() { \
@@ -442,6 +445,9 @@ public:
if (m_class::_get_bind_methods() != m_inherits::_get_bind_methods()) { \
_bind_methods(); \
} \
+ if (m_class::_get_bind_compatibility_methods() != m_inherits::_get_bind_compatibility_methods()) { \
+ _bind_compatibility_methods(); \
+ } \
initialized = true; \
} \
\
@@ -674,6 +680,7 @@ protected:
virtual void _notificationv(int p_notification, bool p_reversed) {}
static void _bind_methods();
+ static void _bind_compatibility_methods() {}
bool _set(const StringName &p_name, const Variant &p_property) { return false; };
bool _get(const StringName &p_name, Variant &r_property) const { return false; };
void _get_property_list(List<PropertyInfo> *p_list) const {};
@@ -685,6 +692,9 @@ protected:
_FORCE_INLINE_ static void (*_get_bind_methods())() {
return &Object::_bind_methods;
}
+ _FORCE_INLINE_ static void (*_get_bind_compatibility_methods())() {
+ return &Object::_bind_compatibility_methods;
+ }
_FORCE_INLINE_ bool (Object::*_get_get() const)(const StringName &p_name, Variant &r_ret) const {
return &Object::_get;
}