AdiBags

AdiBags

8M Downloads

1.9.5 Bank Error

Guzzlord opened this issue ยท 15 comments

commented

On the newest version, opening the bank causes the following error (as well with being unable to view the reagents tab):

14x AdiBags\widgets\ItemButton.lua:352: attempt to index field 'UpgradeIcon' (a nil value)
AdiBags\widgets\ItemButton.lua:352: in function 'IsContainerItemAnUpgrade'
AdiBags\widgets\ItemButton.lua:303: in function 'Update'
AdiBags\widgets\ItemButton.lua:278: in function 'FullUpdate'
AdiBags\widgets\ItemButton.lua:246: in function <AdiBags\widgets\ItemButton.lua:234>
[C]:: in function 'Show'
AdiBags\widgets\ItemButton.lua:548: in function <AdiBags\widgets\ItemButton.lua:530>
(tail call): ?
AdiBags\widgets\ItemButton.lua:561: in function 'Update'
AdiBags\widgets\ItemButton.lua:519: in function <AdiBags\widgets\ItemButton.lua:512>
[C]:: in function 'Show'
AdiBags\widgets\Section.lua:112: in function <AdiBags\widgets\Section.lua:110>
[C]:: in function 'Show'
AdiBags\widgets\ContainerFrame.lua:952: in function 'PrepareSections'
AdiBags\widgets\ContainerFrame.lua:1058: in function 'FullUpdate'
AdiBags\widgets\ContainerFrame.lua:563: in function <AdiBags\widgets\ContainerFrame.lua:549>
[C]:: ?
AdiBags\core\Utility.lua:89: in function <AdiBags\core\Utility.lua:81>
AdiBags\widgets\LayeredRegion.lua:119: in function <AdiBags\widgets\LayeredRegion.lua:108>
commented

Just adding the BugSack report here for your viewing - I doubt it's any different to what others have posted.

20x AdiBags\widgets\ItemButton.lua:352: attempt to index field 'UpgradeIcon' (a nil value)
AdiBags\widgets\ItemButton.lua:352: in function `IsContainerItemAnUpgrade'
AdiBags\widgets\ItemButton.lua:303: in function `Update'
AdiBags\widgets\ItemButton.lua:278: in function `FullUpdate'
AdiBags\widgets\ItemButton.lua:246: in function <AdiBags\widgets\ItemButton.lua:234>
[C]: in function `Show'
AdiBags\widgets\ItemButton.lua:548: in function <AdiBags\widgets\ItemButton.lua:530>
(tail call): ?
AdiBags\widgets\ItemButton.lua:561: in function `Update'
AdiBags\widgets\ItemButton.lua:519: in function <AdiBags\widgets\ItemButton.lua:512>
[C]: in function `Show'
AdiBags\widgets\Section.lua:112: in function <AdiBags\widgets\Section.lua:110>
[C]: in function `Show'
AdiBags\widgets\ContainerFrame.lua:952: in function `PrepareSections'
AdiBags\widgets\ContainerFrame.lua:1058: in function `FullUpdate'
AdiBags\widgets\ContainerFrame.lua:563: in function <AdiBags\widgets\ContainerFrame.lua:549>
[C]: ?
AdiBags\core\Utility.lua:89: in function <AdiBags\core\Utility.lua:81>
AdiBags\widgets\LayeredRegion.lua:119: in function <AdiBags\widgets\LayeredRegion.lua:108>

Locals:
self = AdiBagsBankItemButton1 {
 0 = <userdata>
 bag = -1
 inventorySlot = 51
 IconBorder = <unnamed> {
 }
 IconQuestTexture = <unnamed> {
 }
 hasItem = true
 icon = AdiBagsBankItemButton1IconTexture {
 }
 container = AdiBagsContainer2 {
 }
 count = 0
 acquired = true
 UpdateTooltip = <function> defined @FrameXML\BankFrame.lua:40
 slot = 12
 GetCount = <function> defined @AdiBags\widgets\ItemButton.lua:421
 IconTexture = AdiBagsBankItemButton1IconTexture {
 }
 texture = 1387636
 itemLink = "|cffffffff|Hitem:133681::::::::110:66::::::|h[Crispy Bacon]|h|r"
 itemId = 133681
 stack = AdiBagsStackButton140 {
 }
 Count = AdiBagsBankItemButton1Count {
 }
 NormalTexture = AdiBagsBankItemButton1NormalTexture {
 }
 Stock = AdiBagsBankItemButton1Stock {
 }
 searchOverlay = AdiBagsBankItemButton1SearchOverlay {
 }
 Cooldown = AdiBagsBankItemButton1Cooldown {
 }
 bagFamily = 0
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'UpgradeIcon' (a nil value)"

Edit: Applied #160 same errors, just on different line numbers.

commented

Is this fix too dirty?

ItemButton.lua:

function buttonProto:IsContainerItemAnUpgrade()	
    if self:GetParent():GetID() ~= -1 and self:GetParent():GetID() ~= -3 then
        self.UpgradeIcon:SetShown(IsContainerItemAnUpgrade(self:GetParent():GetID(), self:GetID()) or false)
     end
end
commented

Well, it stops the error for the time being!

commented

ID: 2
Error occured in: Global
Count: 110
Message: ..\AddOns\AdiBags\widgets\ItemButton.lua line 352:
attempt to index field 'UpgradeIcon' (a nil value)
Debug:
(tail call): ?
[C]: ?
AdiBags\widgets\ItemButton.lua:352: IsContainerItemAnUpgrade()
AdiBags\widgets\ItemButton.lua:303: Update()
AdiBags\widgets\ItemButton.lua:278: FullUpdate()
AdiBags\widgets\ItemButton.lua:246:
AdiBags\widgets\ItemButton.lua:234
[C]: Show()
AdiBags\widgets\ItemButton.lua:548:
AdiBags\widgets\ItemButton.lua:530
(tail call): ?
AdiBags\widgets\ItemButton.lua:561: Update()
AdiBags\widgets\ItemButton.lua:519:
AdiBags\widgets\ItemButton.lua:512
[C]: Show()
AdiBags\widgets\Section.lua:112:
AdiBags\widgets\Section.lua:110
[C]: Show()
AdiBags\widgets\ContainerFrame.lua:952: PrepareSections()
AdiBags\widgets\ContainerFrame.lua:1058: FullUpdate()
AdiBags\widgets\ContainerFrame.lua:563:
AdiBags\widgets\ContainerFrame.lua:549
[C]: ?
AdiBags\core\Utility.lua:89:
AdiBags\core\Utility.lua:81
AdiBags\widgets\LayeredRegion.lua:119:
AdiBags\widgets\LayeredRegion.lua:108
Locals:
(*temporary) = 0.017000000923872
(*temporary) = defined =[C]:-1

commented

ID: -1
Error occured in: AddOn: AdiBags
Count: 1
Message: Note: AddOn AdiBags attempted to call a protected function (UNKNOWN()) during combat lockdown.
Debug:
[C]: ?
[C]: ?
[C]: ?
[C]: Hide()
..\FrameXML\UIParent.lua:3071: CloseSpecialWindows()
AdiBags\core\Hooks.lua:209:
AdiBags\core\Hooks.lua:208
(tail call): ?
[C]: securecall()
..\FrameXML\UIParent.lua:3109: CloseWindows()
..\FrameXML\UIParent.lua:3137: CloseAllWindows()
..\FrameXML\UIParent.lua:1061:
..\FrameXML\UIParent.lua:953
Locals:
None

commented

What's worse about the bank error: it's now impossible to access the Reagent Bank: pressing the "R" button in the AdiBags bank frame has the bizarre effect of rearranging items in the bank instead of opening the Reagent Bank.

Also still not seeing the upgrade advisor arrow icons.

commented

See the relevant commit (20aea53) and pull request (#160).

I don't have an active subscription to the game, so I can't verify a fix. However, I'm guessing UpgradeIcon is nil for items that aren't equipable.

commented

I was watching you makes those commits in real time earlier this morning. I had downloaded the files from here and started to patch 1.9.4 myself, but then I decided to wait a while and sure enough not long after that 1.9.5 hit Curse.com. The errors and behavior I described above occurred with 1.9.5.

I had tried to directly implement Martin's suggested code (in another ticket) to fix the upgrade arrow issue perhaps a month ago, but my attempt failed. I assumed at the time that I had failed to duplicate it correctly and reverted the changes. Perhaps it wasn't my failure entirely or at all? I still have a subscription for 4 months, though I may quit playing myself before then. Use me as a testing resource if it helps.

commented

ItemUpgrade should be disabled on bank slots. This is the fix I'm running atm https://gist.github.com/nuoHep/fee3e20bc3301e079f2ab9697798f8df

commented

Bank slots do have upgrade arrow. I tested it myself moving an item with arrow from my bags.

commented

Yeah, looks like I fucked up my initial change somehow.
(I updated the gist with my current local commit that works for bank too)

commented

nuoHep, I tried your fix, and still having errors with a couple of items on the bank UI, for example: http://www.wowhead.com/item=43352/pet-grooming-kit

had to add BANK_CONTAINER too.

function bankButtonProto:UpdateUpgrade()
    if self.bag ~= REAGENTBANK_CONTAINER and self.bag ~= BANK_CONTAINER then
        buttonProto.UpdateUpgrade(self)
    end
end
commented

bank view scrambles when you click on reagent button

263x AdiBags\widgets\ItemButton.lua:352: attempt to index field 'UpgradeIcon' (a nil value)
AdiBags\widgets\ItemButton.lua:352: in function IsContainerItemAnUpgrade' AdiBags\widgets\ItemButton.lua:303: in function Update'
AdiBags\widgets\ItemButton.lua:278: in function FullUpdate' AdiBags\widgets\ItemButton.lua:246: in function <AdiBags\widgets\ItemButton.lua:234> [C]: in function Show'
AdiBags\widgets\Section.lua:112: in function <AdiBags\widgets\Section.lua:110>
[C]: in function Show' AdiBags\core\Bags.lua:89: in function Open'
AdiBags\core\Bags.lua:262: in function ?' ...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:145: in function <...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:145> [string "safecall Dispatcher[3]"]:4: in function <[string "safecall Dispatcher[3]"]:4> [C]: ? [string "safecall Dispatcher[3]"]:13: in function ?'
...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:90: in function SendMessage' AdiBags\core\Core.lua:447: in function ?'
...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:145: in function <...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:145>
[string "safecall Dispatcher[1]"]:4: in function <[string "safecall Dispatcher[1]"]:4>
[C]: ?
[string "safecall Dispatcher[1]"]:13: in function `?'
...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:90: in function <...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:85>
(tail call): ?

Locals:
self = AdiBagsBankItemButton9 {
0 =
bag = -1
inventorySlot = 57
filterName = "Manual filtering"
CanIMogItOverlay = CIMIOverlayFrame_AdiBagsBankItemButton9 {
}
IconBorder = {
}
IconQuestTexture = {
}
hasItem = true
icon = AdiBagsBankItemButton9IconTexture {
}
container = AdiBagsContainer2 {
}
count = 1
acquired = true
UpdateTooltip = defined @FrameXML\BankFrame.lua:40
slot = 18
section = AdiBagsSection31 {
}
IconTexture = AdiBagsBankItemButton9IconTexture {
}
texture = 1020388
itemLink = "|cffa335ee|Hitem:128503::::::::110:263::14::::|h[Master Hunter's Seeking Crystal]|h|r"
itemId = 128503
Count = AdiBagsBankItemButton9Count {
}
NormalTexture = AdiBagsBankItemButton9NormalTexture {
}
Stock = AdiBagsBankItemButton9Stock {
}
searchOverlay = AdiBagsBankItemButton9SearchOverlay {
}
Cooldown = AdiBagsBankItemButton9Cooldown {
}
bagFamily = 0
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'UpgradeIcon' (a nil value)"

commented

I combined @nuoHep 's and @AcademicoMDP 's fixes. Seems to be working again so far for me.

UPDATE:
I attached my modified version of ItemButton.lua (added a .txt extension to bypass github's attachment filtering).

It also includes the fix for #181

ItemButton.lua.txt

commented

Still causing an error for me but I haven't applied the fixes outlined by @nuoHep and @AcademicoMDP

Date: 2017-04-01 17:31:08
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\AdiBags\widgets\ItemButton.lua line 352:
attempt to index field 'UpgradeIcon' (a nil value)
Debug:
[C]: ?
AdiBags\widgets\ItemButton.lua:352: IsContainerItemAnUpgrade()
AdiBags\widgets\ItemButton.lua:303: Update()
AdiBags\widgets\ItemButton.lua:278: FullUpdate()
AdiBags\widgets\ItemButton.lua:246:
AdiBags\widgets\ItemButton.lua:234
[C]: Show()
AdiBags\widgets\ItemButton.lua:548:
AdiBags\widgets\ItemButton.lua:530
(tail call): ?
AdiBags\widgets\ItemButton.lua:561: Update()
AdiBags\widgets\ItemButton.lua:519:
AdiBags\widgets\ItemButton.lua:512
[C]: Show()
AdiBags\widgets\Section.lua:112:
AdiBags\widgets\Section.lua:110
[C]: Show()
AdiBags\widgets\ContainerFrame.lua:952: PrepareSections()
AdiBags\widgets\ContainerFrame.lua:1058: FullUpdate()
AdiBags\widgets\ContainerFrame.lua:563:
AdiBags\widgets\ContainerFrame.lua:549
[C]: ?
AdiBags\core\Utility.lua:89:
AdiBags\core\Utility.lua:81
AdiBags\widgets\LayeredRegion.lua:119:
AdiBags\widgets\LayeredRegion.lua:108
Locals:

AddOns:
Swatter, v7.0.4 (<%codename%>)
NPCScanOverlay, v7.1.0.1
AckisRecipeList, v7.2.0.2
AddOnSkins, v3.47
AdiBags, vv1.9.5
AdiBagsBoEBoA, vv1.5
AdiBagsHearthstones, v7.2-release1
AdiBagsLegionFilters, v1.5
AdvancedInterfaceOptions, v1.1.3
Altoholic, vr178
ArtifactPowerUser, v2.2
AskMrRobot, v50
Auctionator, v4.0.16
BagSync, v10.9
BetterIconSelector, v1.0.7
BonusRollPreview, v70200.38-Release
CaerdonWardrobe, vv0.39.0
CaerdonWardrobeAdiBags, vv0.4.0
CaerdonWardrobeElvUI, vv0.3.0
CanIMogIt, v7.2.0.01
CQuestCounter, v1.1
CrossRealmAssist, v0.81 beta
DataStore, vr62
DataStoreAchievements, vr45
DataStoreAgenda, vr25
DataStoreAuctions, vr47
DataStoreCharacters, vr38
DataStoreContainers, vr55
DataStoreCrafts, vr76
DataStoreCurrencies, vr34
DataStoreGarrisons, vr20
DataStoreInventory, vr48
DataStoreMails, vr48
DataStorePets, vr41
DataStoreQuests, vr40
DataStoreReputations, vr39
DataStoreSpells, vr29
DataStoreStats, vr28
DataStoreTalents, vr58
DBMCore, v7.2.2
DBMDefaultSkin, v
DBMStatusBarTimers, v
EasyObliterate, v24
ElvUI, v10.47
ElvUIDTBars2, v7.0.3.0010
ElvUIExtraActionBars, v2.30
ElvUILegionCurrencies, v1.05
ElvUISmartQuestTracker, v2.0.6
EnemyGrid, v
FishingBuddy, v1.7.13
GoGoMount, v7.1.1
HandyNotes, vv1.4.13
HandyNotesDraenorTreasures, v1.20a
HandyNotesDungeonLocations, v1.13
HandyNotesLegionTreasures, v1
HandyNotesLongForgottenHippogryph, v1
HandyNotesSuramarTelemancy, v1
HandyNotesTimelessIsleChests, v1.17
HandyNotesTimelessTreasures, v1.0.7
HandyNotesWitheredChests, v1.2
ILDBlizzard, v2.0.15 70200
ItemLevelDisplay, v2.0.15 70200
LibExtraTip, v5.12.DEV.390(/embedded)
MasterPlanA, vA
MillButton, v7.1.0.1
mOnArsWardrobeHelper, v1.17
MoPRares, v1.1.5
MountFarmHelper, v7.1.0
NPCScan, v7.1.0.5
OnyxEggs, v0.2
OPie, vUmber 8
Paste, v1.4.10
Pawn, v2.2.2
Postal, vv3.5.8
RepHeaderRemember, v7.01.00
ReputationBars, v7.2.0
SexyMap, vv7.2.0
Simulationcraft, v1.6.0
Skada, v1.6.6
StatWeightScore, v7.5.3
Storyline, v2.0.3
TheUndermineJournal, v4.7.20170401
TomTom, vv70100-1.0.1
TradeSkillMaster, vv3.6.26
TradeSkillMasterAccounting, vv3.0.18
WeakAuras, v2.3.8
WorldBossStatus, v5.4.2
WorldFlightMap, v7.2.0.1
WorldQuestsList, v31
BlizRuntimeLib_enUS v7.2.0.70200
(ck=93c)