summaryrefslogtreecommitdiffstats
path: root/modules/mono/csharp_script.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-01-13 22:01:11 +0100
committerGitHub <noreply@github.com>2020-01-13 22:01:11 +0100
commitf06372cb7326dedfb1882a024a97bff29ac73e28 (patch)
treecb1a705f2f4ce2f973a1c8fb5c9c2d4e9465bbd8 /modules/mono/csharp_script.h
parent1d129f9becad39f60252a672eb2cf0e14056939d (diff)
parenta6a5ef0fd690123d8f646bca47f7ae6e2ad3bbfe (diff)
downloadredot-engine-f06372cb7326dedfb1882a024a97bff29ac73e28.tar.gz
Merge pull request #35097 from neikeq/issue-34954
Mono/C#: Fix _update_exports() leaking temporary Object/Node instances
Diffstat (limited to 'modules/mono/csharp_script.h')
-rw-r--r--modules/mono/csharp_script.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h
index 027f429125..30f56e00bd 100644
--- a/modules/mono/csharp_script.h
+++ b/modules/mono/csharp_script.h
@@ -307,6 +307,11 @@ class CSharpLanguage : public ScriptLanguage {
Map<Object *, CSharpScriptBinding> script_bindings;
+#ifdef DEBUG_ENABLED
+ // List of unsafely referenced objects
+ List<ObjectID> unsafely_referenced_objects;
+#endif
+
struct StringNameCache {
StringName _signal_callback;
@@ -458,6 +463,9 @@ public:
Vector<StackInfo> stack_trace_get_info(MonoObject *p_stack_trace);
#endif
+ void post_unsafe_reference(Object *p_obj);
+ void pre_unsafe_unreference(Object *p_obj);
+
CSharpLanguage();
~CSharpLanguage();
};