From 8219e230eb9f8d751370801f6cc19e69dec2376b Mon Sep 17 00:00:00 2001 From: Aireil <33433913+Aireil@users.noreply.github.com> Date: Thu, 29 Apr 2021 06:21:03 +0200 Subject: [PATCH] fix: game crashing when plugin master is loading --- Dalamud/Plugin/PluginInstallerWindow.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Dalamud/Plugin/PluginInstallerWindow.cs b/Dalamud/Plugin/PluginInstallerWindow.cs index c117261fc..b0e0fe3f8 100644 --- a/Dalamud/Plugin/PluginInstallerWindow.cs +++ b/Dalamud/Plugin/PluginInstallerWindow.cs @@ -192,7 +192,8 @@ namespace Dalamud.Plugin } else { - if (ImGui.Button(Loc.Localize("InstallerUpdatePlugins", "Update plugins"))) + if (ImGui.Button(Loc.Localize("InstallerUpdatePlugins", "Update plugins")) && + this.dalamud.PluginRepository.State == PluginRepository.InitializationState.Success) { this.installStatus = PluginInstallStatus.InProgress; @@ -217,7 +218,8 @@ namespace Dalamud.Plugin this.errorModalDrawing = this.installStatus == PluginInstallStatus.Fail; this.errorModalOnNextFrame = this.installStatus == PluginInstallStatus.Fail; - this.dalamud.PluginRepository.PrintUpdatedPlugins(this.updatedPlugins, Loc.Localize("DalamudPluginUpdates", "Updates:")); + this.dalamud.PluginRepository.PrintUpdatedPlugins( + this.updatedPlugins, Loc.Localize("DalamudPluginUpdates", "Updates:")); this.RefetchPlugins(); }); @@ -305,8 +307,11 @@ namespace Dalamud.Plugin private void ResortPlugins() { + if (this.dalamud.PluginRepository.State != PluginRepository.InitializationState.Success) + return; + var availableDefs = this.dalamud.PluginRepository.PluginMaster.Where( - x => this.pluginListInstalled.All(y => x.InternalName != y.InternalName)) + x => this.pluginListInstalled.All(y => x.InternalName != y.InternalName)) .GroupBy(x => new { x.InternalName, x.AssemblyVersion }) .Select(y => y.First()).ToList();