From ada9a094100de353b7c02d598c57842baeed352a Mon Sep 17 00:00:00 2001 From: Maplewheels Date: Sun, 10 May 2026 23:56:14 -0400 Subject: [PATCH] Added experimental fix for inlining issue in assembly init. --- .../SharedSource/LuaCs/_Services/PluginManagementService.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs index 8ced62143..c497415b0 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PluginManagementService.cs @@ -363,6 +363,7 @@ public class PluginManagementService : IAssemblyManagementService return null; } + [MethodImpl(MethodImplOptions.NoOptimization)] public FluentResults.Result ActivatePluginInstances(ImmutableArray executionOrder, bool excludeAlreadyRunningPackages = true) { if (executionOrder.IsDefaultOrEmpty) @@ -481,6 +482,7 @@ public class PluginManagementService : IAssemblyManagementService return results; // helper + [MethodImpl(MethodImplOptions.NoOptimization)] FluentResults.Result PluginInitRunner(IAssemblyPlugin plugin, Action action) { try @@ -832,6 +834,7 @@ public class PluginManagementService : IAssemblyManagementService _storageService.PurgeCache(); GC.Collect(); GC.Collect(GC.MaxGeneration, GCCollectionMode.Aggressive, true); + GC.WaitForPendingFinalizers(); GC.WaitForFullGCComplete(1000); #if DEBUG