Fix Dalamud trying to unload IServiceType and crashing (#1557)

This commit is contained in:
Sirius902 2023-12-02 20:25:43 -08:00 committed by GitHub
parent d52118b3ad
commit 37bcff84b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View file

@ -336,7 +336,7 @@ internal static class ServiceManager
foreach (var serviceType in Assembly.GetExecutingAssembly().GetTypes()) foreach (var serviceType in Assembly.GetExecutingAssembly().GetTypes())
{ {
if (!serviceType.IsAssignableTo(typeof(IServiceType))) if (serviceType.IsAbstract || !serviceType.IsAssignableTo(typeof(IServiceType)))
continue; continue;
// Scoped services shall never be unloaded here. // Scoped services shall never be unloaded here.

View file

@ -176,7 +176,7 @@ internal static class Service<T> where T : IServiceType
{ {
foreach (var serviceType in Assembly.GetExecutingAssembly().GetTypes()) foreach (var serviceType in Assembly.GetExecutingAssembly().GetTypes())
{ {
if (!serviceType.IsAssignableTo(typeof(IServiceType))) if (serviceType.IsAbstract || !serviceType.IsAssignableTo(typeof(IServiceType)))
continue; continue;
if (serviceType == typeof(PluginManager)) if (serviceType == typeof(PluginManager))