diff --git a/Penumbra.GameData/Data/ObjectIdentification.cs b/Penumbra.GameData/Data/ObjectIdentification.cs index 53c71730..111a652d 100644 --- a/Penumbra.GameData/Data/ObjectIdentification.cs +++ b/Penumbra.GameData/Data/ObjectIdentification.cs @@ -29,7 +29,6 @@ internal sealed class ObjectIdentification : DataSharer, IObjectIdentifier public readonly IReadOnlyDictionary> Actions; private readonly ActorManager.ActorManagerData _actorData; - private readonly EquipmentIdentificationList _equipment; private readonly WeaponIdentificationList _weapons; private readonly ModelIdentificationList _modelIdentifierToModelChara; diff --git a/Penumbra/Services/ServiceWrapper.cs b/Penumbra/Services/ServiceWrapper.cs index 1adec97f..5da7cd07 100644 --- a/Penumbra/Services/ServiceWrapper.cs +++ b/Penumbra/Services/ServiceWrapper.cs @@ -78,9 +78,14 @@ public abstract class AsyncServiceWrapper : IServiceWrapper { Service = service; Penumbra.Log.Verbose($"[{Name}] Created."); - FinishedCreation?.Invoke(); + _task = null; } }); + _task.ContinueWith((t, x) => + { + if (!_isDisposed) + FinishedCreation?.Invoke(); + }, null); } protected AsyncServiceWrapper(string name, Func factory) @@ -99,9 +104,13 @@ public abstract class AsyncServiceWrapper : IServiceWrapper Service = service; Penumbra.Log.Verbose($"[{Name}] Created."); _task = null; - FinishedCreation?.Invoke(); } }); + _task.ContinueWith((t, x) => + { + if (!_isDisposed) + FinishedCreation?.Invoke(); + }, null); } public void Dispose()