From 2302f15c84a07d8c6681eff0de7cea24589ada96 Mon Sep 17 00:00:00 2001 From: Raymond Date: Thu, 15 Jul 2021 21:06:33 -0400 Subject: [PATCH] Disable unloaded dev plugins at boot --- Dalamud/Plugin/Internal/PluginManager.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Dalamud/Plugin/Internal/PluginManager.cs b/Dalamud/Plugin/Internal/PluginManager.cs index 6cda9827a..91d43a2f7 100644 --- a/Dalamud/Plugin/Internal/PluginManager.cs +++ b/Dalamud/Plugin/Internal/PluginManager.cs @@ -455,6 +455,10 @@ namespace Dalamud.Plugin.Internal var devPlugin = new LocalDevPlugin(this.dalamud, dllFile, manifest); loadPlugin &= !isBoot || devPlugin.StartOnBoot; + // If we're not loading it, make sure it's disabled + if (!loadPlugin && !devPlugin.IsDisabled) + devPlugin.Disable(); + plugin = devPlugin; } else @@ -479,14 +483,17 @@ namespace Dalamud.Plugin.Internal } catch (Exception ex) { - // Dev plugins always get added to the list so they can be fiddled with in the UI if (plugin.IsDev) { + // Dev plugins always get added to the list so they can be fiddled with in the UI Log.Information(ex, $"Dev plugin failed to load, adding anyways: {dllFile.Name}"); + plugin.Disable(); // Disable here, otherwise you can't enable+load later } else if (plugin.Manifest.DalamudApiLevel < DalamudApiLevel) { + // Out of date plugins get added so they can be updated. Log.Information(ex, $"Plugin was outdated, adding anyways: {dllFile.Name}"); + // plugin.Disable(); // Don't disable, or it gets deleted next boot. } else {