Sattva-108 / AdiBags

AdiBags backport with improved UI and functions for 3.3.5 WoTLK client.
16 stars 2 forks source link

Another issue that occurs Randomly, any idea? #7

Closed Drakcain closed 9 months ago

Drakcain commented 10 months ago

Date: 2024-01-21 20:20:22 ID: 15 Error occured in: Global Count: 1 Message: ..\SharedXML\SharedConstants.lua line 209: Usage: GetItemQualityColor(number) Debug:

..\SharedXML\SharedConstants.lua:209: ..\SharedXML\SharedConstants.lua:207 AdiBags\widgets\ItemButton.lua:414: AdiBags\widgets\ItemButton.lua:403 AdiBags\widgets\ItemButton.lua:427: UpdateBorder() AdiBags\widgets\ItemButton.lua:324: Update() AdiBags\widgets\ItemButton.lua:303: FullUpdate() AdiBags\widgets\ItemButton.lua:268: AdiBags\widgets\ItemButton.lua:256

AdiBags\widgets\ItemButton.lua:593: AdiBags\widgets\ItemButton.lua:575 (tail call): ? AdiBags\widgets\ItemButton.lua:606: Update() AdiBags\widgets\ItemButton.lua:564: AdiBags\widgets\ItemButton.lua:557

AdiBags\widgets\Section.lua:112: AdiBags\widgets\Section.lua:110

AdiBags\widgets\ContainerFrame.lua:928: PrepareSections() AdiBags\widgets\ContainerFrame.lua:1034: FullUpdate() AdiBags\core\Core.lua:333: ?() ...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:145: ...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:145

  [string "safecall Dispatcher[2]"]:4

string "safecall Dispatcher[2]":13: ?() ...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:90: ...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:85 (tail call): ? AddOns: AdiBags, vv1.9.26-bcc AdiBagsBound, v3.3.5 AdiBagsOutfitter, vv1.0-beta-2 Auctionator, v2.6.3 AuctionatorPriceDatabase AuctionatorPricingHistory BlizzMove, vr18 Clear, v1.0 ClearQuests Details, vv8.3.0.7270 (core 141) DetailsDeathGraphs DetailsEncounterDetails DetailsTimeLine DetailsChartViewer ExtVendor, v1.2.12 IdTip, v2.00 Ace3 MoveAnything, v11.b2 MysticMaestro, v1.0.0 MysticMaestroAhData MysticMaestroGuildData NiceDamage, v40000 Omen, v3.0.9 Outfitter, v5.1 Pawn, v1.3.12 Postal, v3.5.1 Questomatic, v1.5.1 SharedMedia, v3.1.1-200 SilverDragon, vv2.3.4-6-g0c8a67f Stubby, v275 Swatter, v5.0.0 TidyPlates, v6.5.0 TidyPlatesGraphite TidyPlatesGrey TidyPlatesNeon TidyPlatesQuatre WeakAuras, v4.2.2 ElvUI, v7.10 ElvUIAddOnSkins, v1.06 ElvUIEnhanced, v1.05 ElvUIEnhancedFriendsList, v1.09 ElvUIExtraActionBars, v1.00 ElvUIOptionsUI, v1.10 AscensionClassTalent, v1.0.0 AscensionCollections, v1.0.0 AscensionInspectUI, v1.0.0 AscensionUI DBMCore DBMSpellTimers DBMBurningCrusade DBMPartyBC DBMWorldEvents

Drakcain commented 10 months ago

Message: ..\SharedXML\SharedConstants.lua line 209: Usage: GetItemQualityColor(number)

Not sure where to locate this.

Sattva-108 commented 10 months ago

It's hard for me to do something if can't reproduce... You are using Szylers AdiBags version right? But it seems that problem is most likely in the ItemButton.lua and i found functions where GetItemQualityColor function is used, it's function called GetBorder.

Try to replace that function code in ItemButton.lua (~line 403) to the one i provide below:

local function GetBorder(bag, slot, itemId, settings)
    if not settings.qualityHighlight then
        return
    end
    --! local _, _, _, quality = GetContainerItemInfo(bag, slot)
    local _,_,quality = GetItemInfo(itemId)

    -- Provide a default quality if it's missing or not a valid number
    if quality == nil or type(quality) ~= "number" then
        quality = 1 -- make it return white color instead
    end

    if false and quality == 0 and settings.dimJunk then --TODO: actually fix this
        local v = 1 - 0.5 * settings.qualityOpacity
        return true, v, v, v, 1, nil, nil, nil, nil, "MOD"
    end
    local color = quality ~= ITEM_QUALITY_COMMON
    local r,g,b = GetItemQualityColor(quality)
    --print(r,g,b,color)
    if quality == 3 then --Rare items blue does not pop enough in the interface
        b = 1
    end
    if color then
        return [[Interface\Buttons\UI-ActionButton-Border]], r, g, b, settings.qualityOpacity, 14/64, 49/64, 15/64, 50/64, "ADD"
    end
end

What i have done is just added checking for if item has quality, if not then just pass white color for border.

Drakcain commented 10 months ago

Correct, I've apply that fix and haven't noticed the error. So hopefully that fix that, thanks for all the input been forwarding this to szyler