From 9bf714b6ba513b9a1374e8ac4191482f5425cf9b Mon Sep 17 00:00:00 2001
From: Aireil <33433913+Aireil@users.noreply.github.com>
Date: Tue, 13 Sep 2022 17:39:30 +0200
Subject: [PATCH 1/2] fix: some concurrency issues with the installer
---
.../Internal/Windows/PluginInstaller/PluginInstallerWindow.cs | 2 +-
Dalamud/Plugin/Internal/PluginManager.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs b/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs
index 4948ecbff..85b8431da 100644
--- a/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs
+++ b/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs
@@ -1035,7 +1035,7 @@ namespace Dalamud.Interface.Internal.Windows.PluginInstaller
private void DrawPluginCategoryContent()
{
- var ready = this.DrawPluginListLoading();
+ var ready = this.DrawPluginListLoading() && !this.AnyOperationInProgress;
if (!this.categoryManager.IsSelectionValid || !ready)
{
return;
diff --git a/Dalamud/Plugin/Internal/PluginManager.cs b/Dalamud/Plugin/Internal/PluginManager.cs
index 05ab3a85a..e243c1b05 100644
--- a/Dalamud/Plugin/Internal/PluginManager.cs
+++ b/Dalamud/Plugin/Internal/PluginManager.cs
@@ -151,7 +151,7 @@ internal partial class PluginManager : IDisposable, IServiceType
///
/// Gets a value indicating whether all added repos are not in progress.
///
- public bool ReposReady => this.Repos.All(repo => repo.State != PluginRepositoryState.InProgress || repo.State != PluginRepositoryState.Fail);
+ public bool ReposReady => this.Repos.All(repo => repo.State != PluginRepositoryState.InProgress);
///
/// Gets a value indicating whether the plugin manager started in safe mode.
From 453c4174229cf75006b54593d2a0bb6fcb31a9a2 Mon Sep 17 00:00:00 2001
From: Aireil <33433913+Aireil@users.noreply.github.com>
Date: Tue, 13 Sep 2022 17:56:55 +0200
Subject: [PATCH 2/2] fix: only display embarassing message if being held by
plugins
---
.../Internal/Windows/PluginInstaller/PluginInstallerWindow.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs b/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs
index 85b8431da..0eedd8c18 100644
--- a/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs
+++ b/Dalamud/Interface/Internal/Windows/PluginInstaller/PluginInstallerWindow.cs
@@ -338,7 +338,7 @@ namespace Dalamud.Interface.Internal.Windows.PluginInstaller
throw new ArgumentOutOfRangeException();
}
- if (DateTime.Now - this.timeLoaded > TimeSpan.FromSeconds(90) && isWaitingManager)
+ if (DateTime.Now - this.timeLoaded > TimeSpan.FromSeconds(90) && !pluginManager.PluginsReady)
{
ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
ImGuiHelpers.CenteredText("This is embarrassing, but...");