diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-08-30 08:44:36 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-08-30 08:44:36 +0200 |
commit | 8edc0b43b94bcc04defeeebd7ce120a0131ff511 (patch) | |
tree | bfa167f5598efc3f8c0a05b131be6bb8812b7edd /core/object/script_language_extension.h | |
parent | d2f76e87869b892d7992696e0b381c5afebe3d0d (diff) | |
parent | c4705a590b5eb01d63afb907d6dad5c49d8f6fe1 (diff) | |
download | redot-engine-8edc0b43b94bcc04defeeebd7ce120a0131ff511.tar.gz |
Merge pull request #78634 from Sauermann/fix-notification-order
Fix `Object::notification` order
Diffstat (limited to 'core/object/script_language_extension.h')
-rw-r--r-- | core/object/script_language_extension.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/core/object/script_language_extension.h b/core/object/script_language_extension.h index 6edbcdaeee..eca208a2bd 100644 --- a/core/object/script_language_extension.h +++ b/core/object/script_language_extension.h @@ -630,7 +630,11 @@ VARIANT_ENUM_CAST(ScriptLanguageExtension::CodeCompletionLocation) class ScriptInstanceExtension : public ScriptInstance { public: - const GDExtensionScriptInstanceInfo *native_info; + const GDExtensionScriptInstanceInfo2 *native_info; + struct { + GDExtensionClassNotification notification_func; + } deprecated_native_info; + GDExtensionScriptInstanceDataPtr instance = nullptr; // There should not be warnings on explicit casts. @@ -746,11 +750,16 @@ public: return ret; } - virtual void notification(int p_notification) override { + virtual void notification(int p_notification, bool p_reversed = false) override { if (native_info->notification_func) { - native_info->notification_func(instance, p_notification); + native_info->notification_func(instance, p_notification, p_reversed); +#ifndef DISABLE_DEPRECATED + } else if (deprecated_native_info.notification_func) { + deprecated_native_info.notification_func(instance, p_notification); +#endif // DISABLE_DEPRECATED } } + virtual String to_string(bool *r_valid) override { if (native_info->to_string_func) { GDExtensionBool valid; |