fix: quality item colros for bank

This commit is contained in:
Salikh Gurgenidze
2026-01-24 04:52:43 +04:00
parent c23c3ed7ad
commit 9a63eae16c
3 changed files with 14 additions and 5 deletions
+2 -2
View File
@@ -204,7 +204,7 @@ function BagFrame:UpdateSingleSlot(bagID, slotID)
local itemData = nil
if itemLink then
local texture, itemCount, locked = GetContainerItemInfo(bagID, slotID)
local texture, itemCount, locked, slotQuality = GetContainerItemInfo(bagID, slotID)
local itemID = nil
local _, _, idStr = string.find(itemLink, "item:(%d+)")
if idStr then itemID = tonumber(idStr) end
@@ -215,7 +215,7 @@ function BagFrame:UpdateSingleSlot(bagID, slotID)
link = itemLink,
texture = texture,
count = itemCount or 1,
quality = quality or 0,
quality = quality or slotQuality or 0,
name = name,
iLevel = iLevel,
type = itemType,
+3 -3
View File
@@ -154,18 +154,18 @@ function BankFrame:UpdateSingleSlot(bagID, slotID)
local itemData = nil
if itemLink then
local texture, itemCount, locked = GetContainerItemInfo(bagID, slotID)
local texture, itemCount, locked, quality = GetContainerItemInfo(bagID, slotID)
local itemID = nil
local _, _, idStr = string.find(itemLink, "item:(%d+)")
if idStr then itemID = tonumber(idStr) end
if itemID then
local name, link, quality, iLevel, _, itemType, stackCount, subType, _, equipLoc = GetItemInfo(itemID)
local name, link, itemQuality, iLevel, _, itemType, stackCount, subType, _, equipLoc = GetItemInfo(itemID)
itemData = {
link = itemLink,
texture = texture,
count = itemCount or 1,
quality = quality or 0,
quality = quality or itemQuality or 0, -- Prefer GetContainerItemInfo, fallback to GetItemInfo
name = name,
iLevel = iLevel,
type = itemType,
+9
View File
@@ -993,12 +993,21 @@ function Guda_ItemButton_SetItem(self, bagID, slotID, itemData, isBank, otherCha
isLocked = locked
end
-- Fall back to itemData.quality if live query returned nil (timing issue on bank open)
if itemQuality == nil and itemData and itemData.quality then
itemQuality = itemData.quality
end
-- Ensure itemData is populated for live items (needed for ItemDetection)
if itemLink then
local itemName, _, itemRarity, itemLevel, itemMinLevel, itemType, itemSubType, itemStackCount, itemEquipLoc, itemTexture = GetItemInfo(itemLink)
-- For bank main bag, get quality from GetItemInfo
if self.isBank and bagID == -1 then
itemQuality = itemRarity
-- Fall back to itemData.quality if GetItemInfo returned nil
if itemQuality == nil and itemData and itemData.quality then
itemQuality = itemData.quality
end
end
if not itemData then
-- Create new itemData