diff --git a/Dalamud/Interface/ItemSearchWindow.cs b/Dalamud/Interface/ItemSearchWindow.cs index 96dea4d93..112c35b36 100644 --- a/Dalamud/Interface/ItemSearchWindow.cs +++ b/Dalamud/Interface/ItemSearchWindow.cs @@ -161,11 +161,13 @@ namespace Dalamud.Interface if (ImGui.IsMouseDoubleClicked(0)) { - OnItemChosen?.Invoke(this, this.searchTask.Result[i]); - if (this.closeOnChoose) - { - this.selectedItemTex?.Dispose(); - isOpen = false; + if (this.selectedItemTex != null){ + OnItemChosen?.Invoke(this, this.searchTask.Result[i]); + if (this.closeOnChoose) + { + this.selectedItemTex?.Dispose(); + isOpen = false; + } } } } @@ -189,14 +191,16 @@ namespace Dalamud.Interface ImGui.EndChild(); // Darken choose button if it shouldn't be clickable - ImGui.PushStyleVar(ImGuiStyleVar.Alpha, this.selectedItemIndex < 0 ? 0.25f : 1); + ImGui.PushStyleVar(ImGuiStyleVar.Alpha, this.selectedItemIndex < 0 || this.selectedItemTex == null ? 0.25f : 1); if (ImGui.Button(Loc.Localize("Choose", "Choose"))) { try { - OnItemChosen?.Invoke(this, this.searchTask.Result[this.selectedItemIndex]); - if (this.closeOnChoose) { - this.selectedItemTex?.Dispose(); - isOpen = false; + if (this.selectedItemTex != null) { + OnItemChosen?.Invoke(this, this.searchTask.Result[this.selectedItemIndex]); + if (this.closeOnChoose) { + this.selectedItemTex?.Dispose(); + isOpen = false; + } } } catch (Exception ex) { Log.Error($"Exception in Choose: {ex.Message}"); @@ -214,6 +218,11 @@ namespace Dalamud.Interface } } + if (this.selectedItemIndex >= 0 && this.selectedItemTex == null) { + ImGui.SameLine(); + ImGui.Text(Loc.Localize("DalamudItemNotLinkable", "This item is not linkable.")); + } + ImGui.End(); return isOpen;