diff options
Diffstat (limited to 'core/object/script_language_extension.h')
-rw-r--r-- | core/object/script_language_extension.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/object/script_language_extension.h b/core/object/script_language_extension.h index eca208a2bd..bf5ad3c107 100644 --- a/core/object/script_language_extension.h +++ b/core/object/script_language_extension.h @@ -631,6 +631,7 @@ VARIANT_ENUM_CAST(ScriptLanguageExtension::CodeCompletionLocation) class ScriptInstanceExtension : public ScriptInstance { public: const GDExtensionScriptInstanceInfo2 *native_info; + bool free_native_info = false; struct { GDExtensionClassNotification notification_func; } deprecated_native_info; @@ -831,6 +832,9 @@ public: if (native_info->free_func) { native_info->free_func(instance); } + if (free_native_info) { + memfree(const_cast<GDExtensionScriptInstanceInfo2 *>(native_info)); + } } #if defined(__GNUC__) && !defined(__clang__) |