diff --git a/Dalamud/Interface/Internal/Windows/PluginImageCache.cs b/Dalamud/Interface/Internal/Windows/PluginImageCache.cs
index d0ff74137..c00bb12b4 100644
--- a/Dalamud/Interface/Internal/Windows/PluginImageCache.cs
+++ b/Dalamud/Interface/Internal/Windows/PluginImageCache.cs
@@ -63,6 +63,7 @@ namespace Dalamud.Interface.Internal.Windows
this.UpdateIcon = interfaceManager.LoadImage(Path.Combine(dalamud.AssetDirectory.FullName, "UIRes", "updateIcon.png"))!;
this.InstalledIcon = interfaceManager.LoadImage(Path.Combine(dalamud.AssetDirectory.FullName, "UIRes", "installedIcon.png"))!;
this.ThirdIcon = interfaceManager.LoadImage(Path.Combine(dalamud.AssetDirectory.FullName, "UIRes", "thirdIcon.png"))!;
+ this.ThirdInstalledIcon = interfaceManager.LoadImage(Path.Combine(dalamud.AssetDirectory.FullName, "UIRes", "thirdInstalledIcon.png"))!;
this.downloadThread = new Thread(this.DownloadTask);
this.downloadThread.Start();
@@ -93,6 +94,11 @@ namespace Dalamud.Interface.Internal.Windows
///
public TextureWrap ThirdIcon { get; }
+ ///
+ /// Gets the installed third party plugin icon overlay.
+ ///
+ public TextureWrap ThirdInstalledIcon { get; }
+
///
public void Dispose()
{
@@ -101,6 +107,7 @@ namespace Dalamud.Interface.Internal.Windows
this.UpdateIcon?.Dispose();
this.InstalledIcon?.Dispose();
this.ThirdIcon?.Dispose();
+ this.ThirdInstalledIcon?.Dispose();
this.downloadToken?.Cancel();
diff --git a/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs b/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs
index b5e9417ef..62364de7b 100644
--- a/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs
+++ b/Dalamud/Interface/Internal/Windows/PluginInstallerWindow.cs
@@ -1062,6 +1062,8 @@ namespace Dalamud.Interface.Internal.Windows
ImGui.Image(iconTex.ImGuiHandle, iconSize);
ImGui.SameLine();
+ var isLoaded = plugin is { IsLoaded: true };
+
if (updateAvailable)
{
ImGui.SetCursorPos(cursorBeforeImage);
@@ -1074,13 +1076,19 @@ namespace Dalamud.Interface.Internal.Windows
ImGui.Image(this.imageCache.TroubleIcon.ImGuiHandle, iconSize);
ImGui.SameLine();
}
+ else if (isLoaded && isThirdParty)
+ {
+ ImGui.SetCursorPos(cursorBeforeImage);
+ ImGui.Image(this.imageCache.ThirdInstalledIcon.ImGuiHandle, iconSize);
+ ImGui.SameLine();
+ }
else if (isThirdParty)
{
ImGui.SetCursorPos(cursorBeforeImage);
ImGui.Image(this.imageCache.ThirdIcon.ImGuiHandle, iconSize);
ImGui.SameLine();
}
- else if (plugin is { IsLoaded: true })
+ else if (isLoaded)
{
ImGui.SetCursorPos(cursorBeforeImage);
ImGui.Image(this.imageCache.InstalledIcon.ImGuiHandle, iconSize);