Bagnon

Bagnon

122M Downloads

bagnon slots not updating

xmcdizzle opened this issue ยท 27 comments

commented

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

commented

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

commented

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:

commented

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

commented

getting same issue with not refreshing / updating unless close/reopen bags

commented

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.

commented

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.

commented

same, getting lua errors and bag doesn't refresh

commented

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
commented

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.

commented

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.

commented

Yeah, same. waiting for a fix, you have to reopen inventory to refresh it. Cant move items properly

commented

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

commented

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!

commented

Also having this issue, also doesn't update when D/Eing items

commented

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.

commented

Thanks, installing previous version helped to fix issue

commented

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

commented

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
commented

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

commented

I updated the BAG_Update event properly and unticked the Flash New Items and still doesn't work, any other ideas?

commented

Ok, tooltips started to work after i disabled informant too

commented

I tried to update BAG_Update without comment like zeddicul, disabled more ticks in settings, still didn't work

commented

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

commented

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?

commented

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.

commented

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.

commented

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!!