diff --git a/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs b/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs index 05fc643b5..e7f2f68fa 100644 --- a/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs +++ b/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs @@ -789,7 +789,7 @@ namespace Dalamud.Interface.Internal.Windows { this.installStatus = OperationStatus.InProgress; - Task.Run(() => this.dalamud.PluginManager.UpdateSinglePlugin(update, false)) + Task.Run(() => this.dalamud.PluginManager.UpdateSinglePlugin(update, true, false)) .ContinueWith(task => { // There is no need to set as Complete for an individual plugin installation diff --git a/Dalamud/Plugin/Internal/PluginManager.cs b/Dalamud/Plugin/Internal/PluginManager.cs index 83fd13c46..fb155df08 100644 --- a/Dalamud/Plugin/Internal/PluginManager.cs +++ b/Dalamud/Plugin/Internal/PluginManager.cs @@ -606,7 +606,7 @@ namespace Dalamud.Plugin.Internal // Prevent collection was modified errors for (var i = 0; i < this.updatablePlugins.Count; i++) { - updatedList.Add(this.UpdateSinglePlugin(this.updatablePlugins[i], dryRun)); + updatedList.Add(this.UpdateSinglePlugin(this.updatablePlugins[i], false, dryRun)); } this.NotifyInstalledPluginsChanged(); @@ -620,10 +620,11 @@ namespace Dalamud.Plugin.Internal /// Update a single plugin, provided a valid . /// /// The available plugin update. + /// Whether to notify that installed plugins have changed afterwards. /// Whether or not to actually perform the update, or just indicate success. /// The status of the update. [CanBeNull] - public PluginUpdateStatus UpdateSinglePlugin(AvailablePluginUpdate metadata, bool dryRun) + public PluginUpdateStatus UpdateSinglePlugin(AvailablePluginUpdate metadata, bool notify, bool dryRun) { var plugin = metadata.InstalledPlugin; @@ -685,6 +686,9 @@ namespace Dalamud.Plugin.Internal } } + if (notify && updateStatus.WasUpdated) + this.NotifyInstalledPluginsChanged(); + return updateStatus; }