bagnon slots not updating
xmcdizzle opened this issue ยท 27 comments
anytime you move a new item it doesnt update in the new spot you moved it to. only if something is added to the bag to refresh it will it then move.
this is on wotlk classic with new update to ulduar
Same issue here - and just to add that it's any inventory slot, so bag, bank, etc. Closing and reopening solves it, but it's wonky & throwing lua errors which is a drag on performance
Same is happening to me, also getting this Lua Error:
Date: 2023-01-17 16:42:20
ID: 1
Error occured in: Global
Count: 1
Message: ...rface/AddOns/BagBrother/addons/core/classes/item.lua line 458:
attempt to call field 'IsBattlePayItem' (a boolean value)
Debug:
[string "=[C]"]: IsBattlePayItem()
[string "@Interface/AddOns/BagBrother/addons/core/classes/item.lua"]:458: IsPaid()
[string "@Interface/AddOns/BagBrother/addons/core/classes/item.lua"]:322: UpdateNewItemAnimation()
[string "@Interface/AddOns/BagBrother/addons/core/classes/item.lua"]:216: func()
[string "@Interface/AddOns/BagBrother/libs/MutexDelay-1.0/MutexDelay-1.0.lua"]:36:
...ns/BagBrother/libs/MutexDelay-1.0/MutexDelay-1.0.lua:30
Locals:
From BugSack:
4x ...rfaceBagBrother/addons/core/classes/item.lua:458: attempt to call field 'IsBattlePayItem' (a boolean value)
[string "@BagBrother/addons/core/classes/item.lua"]:458: in function IsPaid' [string "@BagBrother/addons/core/classes/item.lua"]:322: in function
UpdateNewItemAnimation'
[string "@BagBrother/addons/core/classes/item.lua"]:216: in function `func'
[string "@BagBrother/libs/MutexDelay-1.0-2/MutexDelay-1.0.lua"]:36: in function <...ns/BagBrother/libs/MutexDelay-1.0/MutexDelay-1.0.lua:30>
Locals:
self = ContainerFrame2Item2 {
0 =
OnLeave = defined @BagBrother/addons/core/classes/item.lua:190
__super =
}
UnregisterAll = defined @BagBrother/addons/core/classes/base.lua:27
IconOverlay = Texture {
}
UpdateCooldown = defined @BagBrother/addons/core/classes/item.lua:274
Bind = defined @BagBrother/addons/core/classes/item.lua:106
IconBorder = Texture {
}
flashAnim = AnimationGroup {
}
icon = ContainerFrame2Item2IconTexture {
}
Backgrounds =
}
UpdateTooltip = defined @BagBrother/addons/core/classes/item.lua:181
ExtendedOverlay = Texture {
}
readable = false
count = 13
__type = "Button"
__count = 37
GetFrameID = defined @BagBrother/addons/core/classes/parented.lua:19
NewItemTexture = Texture {
}
Delay = defined @BagBrother/libs/MutexDelay-1.0/MutexDelay-1.0.lua:27
SplitStack = defined @FrameXML/ContainerFrame_Shared.lua:1059
SendFrameSignal = defined @BagBrother/addons/core/classes/base.lua:23
info =
}
BagStaticBottom = Texture {
}
GetTemplate = defined @BagBrother/libs/Poncho-2.0/Poncho-2.0.lua:108
UpdateLocked = defined @BagBrother/addons/core/classes/item.lua:224
UnregisterMessage = defined @BagBrother/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:153
Update = defined @BagBrother/addons/core/classes/item.lua:198
flash = Texture {
}
frame = BagnonInventoryFrame1 {
}
RegisterFrameSignal = defined @BagBrother/addons/core/classes/base.lua:15
RegisterMessage = defined @BagBrother/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:90
GetBlizzard = defined @BagBrother/addons/core/classes/item.lua:93
UpdateSearch = defined @BagBrother/addons/core/classes/item.lua:294
hasItem = true
IconGlow = Texture {
}
NumInactive = defined @BagBrother/libs/Poncho-2.0/Poncho-2.0.lua:124
UnregisterSignal = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:78
GetInfo = defined @BagBrother/addons/core/classes/item.lua:432
GetBagFamily = defined @BagBrother/addons/core/classes/item.lua:415
SendMessage = defined @BagBrother/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:59
GetProfile = defined @BagBrother/addons/core/classes/parented.lua:23
GetClassName = defined @BagBrother/libs/Poncho-2.0/Poncho-2.0.lua:100
GetQuery = defined @BagBrother/addons/core/classes/item.lua:428
GetClass = defined @BagBrother/libs/Poncho-2.0/Poncho-2.0.lua:135
IsAbstract = defined @BagBrother/libs/Poncho-2.0/Poncho-2.0.lua:116
GetSuper = defined @BagBrother/libs/Poncho-2.0/Poncho-2.0.lua:104
Count = ContainerFrame2Item2Count {
}
OnEnter = defined @BagBrother/addons/core/classes/item.lua:181
OnPreClick = defined @BagBrother/addons/core/classes/item.lua:145
searchOverlay = ContainerFrame2Item2SearchOverlay {
}
Construct = defined @BagBrother/addons/core/classes/item.lua:52
BagFamilies =
}
IsSlot = defined @BagBrother/addons/core/classes/item.lua:449
bag = 2
BattlepayItemTexture = Texture {
}
GetOwner = defined @BagBrother/addons/core/classes/parented.lua:31
Super = defined @BagBrother/libs/Poncho-2.0/Poncho-2.0.lua:157
GetTipAnchor = defined @BagBrother/addons/core/classes/tipped.lu
The IsBattlePayItem one is if you installed the retail version of Bagnon instead of the WOTLK Classic version. I am also getting the bag item slots failing to update when an item is moved.
The IsBattlePayItem one is if you installed the retail version of Bagnon instead of the WOTLK Classic version. I am also getting the bag item slots failing to update when an item is moved.
I lie I got this on the regular on just now, my bad.
It seems like if you move an item that doesn't involve the starter "Backpack" bag, then Blizzard doesn't send the "BAG_UPDATE_DELAYED" event. Any item movement involving the "Backpack" bag will send this event. /etrace
"BAG_UPDATE_DELAYED" is used in:
BagBrother\addons\core\api\events.lua
self:RegisterEvent('BAG_UPDATE_DELAYED', 'UpdateBags')
Simple fix by adding a very small C_Timer delay to call UpdateBags after "BAG_UPDATE" event:
function Events:BAG_UPDATE(event, bag)
self.queue[bag] = true
C_Timer.After(0.001, function() self:UpdateBags() end) -- Temporary fix due to missing BAG_UPDATE_DELAYED event
end
It seems like if you move an item that doesn't involve the starter "Backpack" bag, then Blizzard doesn't send the "BAG_UPDATE_DELAYED" event. Any item movement involving the "Backpack" bag will send this event. /etrace
"BAG_UPDATE_DELAYED" is used in: BagBrother\addons\core\api\events.lua
self:RegisterEvent('BAG_UPDATE_DELAYED', 'UpdateBags')
Simple fix by adding a very small C_Timer delay to call UpdateBags after "BAG_UPDATE" event:
function Events:BAG_UPDATE(event, bag) self.queue[bag] = true C_Timer.After(0.001, function() self:UpdateBags() end) -- Temporary fix due to missing BAG_UPDATE_DELAYED event end
Thankyou for this, it lets the bag slot update for me now, although there is still an error being fired, but the functionality works.
Also when hovering the cursor over items in the bags, there are no tooltips showing for the items. Goes for all bags. I have to link the item or drag to actionbars etc. to be able to see the item information. Not sure how to check if there's a Lua error for that, but might be related to the issues of not updating properly.
Yeah, same. waiting for a fix, you have to reopen inventory to refresh it. Cant move items properly
It seems like if you move an item that doesn't involve the starter "Backpack" bag, then Blizzard doesn't send the "BAG_UPDATE_DELAYED" event. Any item movement involving the "Backpack" bag will send this event. /etrace
"BAG_UPDATE_DELAYED" is used in: BagBrother\addons\core\api\events.lua
self:RegisterEvent('BAG_UPDATE_DELAYED', 'UpdateBags')
Simple fix by adding a very small C_Timer delay to call UpdateBags after "BAG_UPDATE" event:
function Events:BAG_UPDATE(event, bag) self.queue[bag] = true C_Timer.After(0.001, function() self:UpdateBags() end) -- Temporary fix due to missing BAG_UPDATE_DELAYED event end
Strange, it didn't help me =( Hope they make fix before Ulduar release
It seems like if you move an item that doesn't involve the starter "Backpack" bag, then Blizzard doesn't send the "BAG_UPDATE_DELAYED" event. Any item movement involving the "Backpack" bag will send this event. /etrace
"BAG_UPDATE_DELAYED" is used in: BagBrother\addons\core\api\events.lua
self:RegisterEvent('BAG_UPDATE_DELAYED', 'UpdateBags')
Simple fix by adding a very small C_Timer delay to call UpdateBags after "BAG_UPDATE" event:
function Events:BAG_UPDATE(event, bag) self.queue[bag] = true C_Timer.After(0.001, function() self:UpdateBags() end) -- Temporary fix due to missing BAG_UPDATE_DELAYED event end
First use version Bagnon-10.0.14 for WoW-3.4.0.zip (12/14/22)
To fully fix the constant errors, add the above solution then from now within the game client:
Select Interface from the Game Menu
Expand Bagnon
Select Slot Settings
- Untick "Flash New Items"
Good luck!
I disabled all of auctioneer as noted in a different post for the tooltips but it still didn't work. It is not Bagnon for this issue. I then disabled beancounter, enchantrix, pawn, vendor price and now tooltips are fine. I still get the issue with nothing updating when you sell or move items in bags. Closing and opening updates.
The above method of adding the line of text to the LUA file worked and items update as normal now. For the person that said it did not work, did you make sure you were on the right bag_update line? It appeared there were several places that had bag_update.
There was only one spot that looked exactly like this before the change. Put the suggested code between the second line and "end" so it looks like it does above.
function Events:BAG_UPDATE(event, bag)
self.queue[bag] = true
end
The above method of adding the line of text to the LUA file worked and items update as normal now. For the person that said it did not work, did you make sure you were on the right bag_update line? It appeared there were several places that had bag_update.
There was only one spot that looked exactly like this before the change. Put the suggested code between the second line and "end" so it looks like it does above.
function Events:BAG_UPDATE(event, bag) self.queue[bag] = true end
I already did, disabled auctioner, enchantrix... didn't work =( strange... that's how code looks
function Events:BAG_UPDATE(event, bag)
self.queue[bag] = true
C_Timer.After(0.001, function() self:UpdateBags() end) -- Temporary fix due to missing BAG_UPDATE_DELAYED event
end
I mean I did not do this part -- Temporary fix due to missing BAG_UPDATE_DELAYED event but I assume two dashes is like commenting it out? Mine looks like this and works. And the disabling of auctioneer and all item tooltip addons or auction addons was to make it start showing the name and item information only. This fix below is for updating things when moved or changed in the bag.
function Events:BAG_UPDATE(event, bag)
self.queue[bag] = true
C_Timer.After(0.001, function() self:UpdateBags() end)
end
I updated the BAG_Update event properly and unticked the Flash New Items and still doesn't work, any other ideas?
I tried to update BAG_Update without comment like zeddicul, disabled more ticks in settings, still didn't work
I tried to update BAG_Update without comment like zeddicul, disabled more ticks in settings, still didn't work
Use the Bagnon-10.0.14 for WoW-3.4.0.zip release from 12/14/22
It seems to be a combo of removing other addons that show or use item tooltips and changing the line in the code. But if old version works good call! Does the old version work with auctioneer and addons so you can still use them?
It seems like if you move an item that doesn't involve the starter "Backpack" bag, then Blizzard doesn't send the "BAG_UPDATE_DELAYED" event. Any item movement involving the "Backpack" bag will send this event. /etrace
"BAG_UPDATE_DELAYED" is used in: BagBrother\addons\core\api\events.lua
self:RegisterEvent('BAG_UPDATE_DELAYED', 'UpdateBags')
Simple fix by adding a very small C_Timer delay to call UpdateBags after "BAG_UPDATE" event:
function Events:BAG_UPDATE(event, bag) self.queue[bag] = true C_Timer.After(0.001, function() self:UpdateBags() end) -- Temporary fix due to missing BAG_UPDATE_DELAYED event end
Thanks! This saved me a huge headache. Appreciate you taking the time to help everyone out here.
Please note, this only relates to Wrath of the Lich King Classic. If you're looking at this to fix a similar issue in retail, this probably won't help.
I didn't use 'C_Timer.After()'.
I did this instead:
function Events:BAG_UPDATE(event, bag)
self.queue[bag] = true
self:UpdateBags()
end
Works exactly the same either way. But full credit to Pixol-WoW for finding the solution, there are always multiple ways to solve a coding problem. I didn't find the solution, I just implemented the fix, my way. So please make sure to thank Pixol-WoW for the fix, even if you chose to use my solution instead.
Looking at the rest of the code, I'm wondering if that was how it's intended to be, and just got missed.
For those struggling to find which function to apply the patch to, you can find it between line 38 and line 40. Also please go back over the line once you've added it, and check the gap before the line starts. I'm not super familiar with the syntax here, I program C for arduino projects, which is only vaguely similar. But one of the issues I've often come across in my own projects, is that code lines often fail if you use a tab where you should use a space, or vice-versa.
For some stupid reason, my text editor converted my tab, into spaces. So I had to go back and copy-paste the correct syntax from a different line, to make sure it worked.
If you're having trouble getting it to work, you should definitely check if this is an issue for you.
As for 'Events:BAG_UPDATE_DELAYED()' error, I tried a few things before doing the above, but couldn't figure it out. Either it had nothing to do with this issue, or (most likely) there was an issue in my code. Again, I'm not familiar with this language, but it was fun to try. Although I have to say, adding the function in, even if broken, silenced the error message.
Also important to note, in my first attempt to apply the patch, I had all my addons enabled; and it failed. The second time, I disabled every addon except Bagnon, and that time it worked. So if you're having issues getting the patch to work, try disabling all your addons, apply the patch, then enable just Bagnon and check that it is fixed. Once you've confirmed that it's fixed, you'll be fine to enable all your addons again.
I didn't close the game to do this either. I just disabled Bagnon in "addons", reloaded UI, opened up events.lua, added the line, hit save, enabled Bagnon again, reloaded UI (again), and it's fixed.
I hope this information is useful to those still having issues with applying this patch.
It seems like if you move an item that doesn't involve the starter "Backpack" bag, then Blizzard doesn't send the "BAG_UPDATE_DELAYED" event. Any item movement involving the "Backpack" bag will send this event. /etrace
"BAG_UPDATE_DELAYED" is used in: BagBrother\addons\core\api\events.lua
self:RegisterEvent('BAG_UPDATE_DELAYED', 'UpdateBags')
Simple fix by adding a very small C_Timer delay to call UpdateBags after "BAG_UPDATE" event:
function Events:BAG_UPDATE(event, bag) self.queue[bag] = true C_Timer.After(0.001, function() self:UpdateBags() end) -- Temporary fix due to missing BAG_UPDATE_DELAYED event end
Thank you very much for this!! I never knew how much Bagnon defined my game play until it was broken and this fix works! +1 credit!!