From 37bcff84b17714343ad52c9d3aa583874ecbc53c Mon Sep 17 00:00:00 2001 From: Sirius902 <10891979+Sirius902@users.noreply.github.com> Date: Sat, 2 Dec 2023 20:25:43 -0800 Subject: [PATCH] Fix Dalamud trying to unload IServiceType and crashing (#1557) --- Dalamud/ServiceManager.cs | 2 +- Dalamud/Service{T}.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dalamud/ServiceManager.cs b/Dalamud/ServiceManager.cs index 21c08ce72..00447da9e 100644 --- a/Dalamud/ServiceManager.cs +++ b/Dalamud/ServiceManager.cs @@ -336,7 +336,7 @@ internal static class ServiceManager foreach (var serviceType in Assembly.GetExecutingAssembly().GetTypes()) { - if (!serviceType.IsAssignableTo(typeof(IServiceType))) + if (serviceType.IsAbstract || !serviceType.IsAssignableTo(typeof(IServiceType))) continue; // Scoped services shall never be unloaded here. diff --git a/Dalamud/Service{T}.cs b/Dalamud/Service{T}.cs index 9c7f0411d..08c362433 100644 --- a/Dalamud/Service{T}.cs +++ b/Dalamud/Service{T}.cs @@ -176,7 +176,7 @@ internal static class Service where T : IServiceType { foreach (var serviceType in Assembly.GetExecutingAssembly().GetTypes()) { - if (!serviceType.IsAssignableTo(typeof(IServiceType))) + if (serviceType.IsAbstract || !serviceType.IsAssignableTo(typeof(IServiceType))) continue; if (serviceType == typeof(PluginManager))