Unverified Commit c96f08dc by Rémi Verschelde Committed by GitHub

Merge pull request #35527 from neikeq/issue-35259

Mono/C#: Fix _update_exports possible crash with Reference types
parents 75ab0754 966a1261
......@@ -2425,6 +2425,9 @@ bool CSharpScript::_update_exports() {
top = top->get_parent_class();
}
// Need to check this here, before disposal
bool base_ref = Object::cast_to<Reference>(tmp_native) != NULL;
// Dispose the temporary managed instance
MonoException *exc = NULL;
......@@ -2438,7 +2441,7 @@ bool CSharpScript::_update_exports() {
MonoGCHandle::free_handle(tmp_pinned_gchandle);
tmp_object = NULL;
if (tmp_native && !Object::cast_to<Reference>(tmp_native)) {
if (tmp_native && !base_ref) {
Node *node = Object::cast_to<Node>(tmp_native);
if (node && node->is_inside_tree()) {
ERR_PRINTS("Temporary instance was added to the scene tree.");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment