From 050340ef1a16ee94835d3495240cf1fe5297ba5f Mon Sep 17 00:00:00 2001 From: Alex Thibodeau Date: Sun, 2 Feb 2020 11:29:57 -0500 Subject: [PATCH] Adjust mono_class_init_internal to no longer bypass cleanup when a failure is detected. (#18649) This fixes: https://issuetracker.unity3d.com/issues/unity-physics-collisions-do-not-work-and-errors-are-thrown-when-entering-play-mode --- mono/metadata/class-init.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mono/metadata/class-init.c b/mono/metadata/class-init.c index 3529a2824f3..3a8cd75b250 100644 --- a/mono/metadata/class-init.c +++ b/mono/metadata/class-init.c @@ -4548,9 +4548,8 @@ mono_class_init_internal (MonoClass *klass) locked = TRUE; if (klass->inited || mono_class_has_failure (klass)) { - mono_loader_unlock (); /* Somebody might have gotten in before us */ - return !mono_class_has_failure (klass); + goto leave; } UnlockedIncrement (&mono_stats.initialized_class_count); -- 2.11.4.GIT