Skip to content

Commit

Permalink
Prevent Chainloader.Plugins from containing nulls and mark it obsolete
Browse files Browse the repository at this point in the history
  • Loading branch information
ManlyMarco committed Oct 22, 2019
1 parent f2e88d4 commit db8c499
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions BepInEx/Bootstrap/Chainloader.cs
Expand Up @@ -24,7 +24,19 @@ public static class Chainloader
/// </summary>
public static Dictionary<string, PluginInfo> PluginInfos { get; } = new Dictionary<string, PluginInfo>();

public static List<BaseUnityPlugin> Plugins { get; } = new List<BaseUnityPlugin>();
private static readonly List<BaseUnityPlugin> _plugins = new List<BaseUnityPlugin>();
[Obsolete("Use PluginInfos instead")]
public static List<BaseUnityPlugin> Plugins
{
get
{
lock (_plugins)
{
_plugins.RemoveAll(x => x == null);
return _plugins;
}
}
}

public static List<string> DependencyErrors { get; } = new List<string>();

Expand Down Expand Up @@ -314,7 +326,7 @@ public static void Start()
PluginInfos[pluginGUID] = pluginInfo;
pluginInfo.Instance = (BaseUnityPlugin)ManagerObject.AddComponent(ass.GetType(pluginInfo.TypeName));

Plugins.Add(pluginInfo.Instance);
_plugins.Add(pluginInfo.Instance);
}
catch (Exception ex)
{
Expand Down

0 comments on commit db8c499

Please sign in to comment.