Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Looting Items in Combat #139

Closed
AMaribo opened this issue Feb 19, 2024 · 2 comments
Closed

Looting Items in Combat #139

AMaribo opened this issue Feb 19, 2024 · 2 comments
Assignees
Labels
bug Something isn't working triage

Comments

@AMaribo
Copy link
Collaborator

AMaribo commented Feb 19, 2024

Addon Version

v0.1.5

World of Warcraft Version

Retail

Describe the bug

When looting items with the bag open, while in combat, the bag stops being redrawn with some errors.
eg. Equipping an items will keep the old icon in the bag instead of being redrawn with the new icon.
image
Errors below. ObjectAPI and Callback-Handler Errors are consistent. Selection of 2 logged BetterBags/frames errors also included.

7x ..FrameXML/ObjectAPI/ContinuableContainer.lua:85: script ran too long
[string "@FrameXML/ObjectAPI/ContinuableContainer.lua"]:85: in function <..FrameXML/ObjectAPI/ContinuableContainer.lua:75>
[string "=(tail call)"]: ?
[string "@BetterBags/data/items.lua"]:166: in function `ProcessContainer'
[string "@BetterBags/data/items.lua"]:160: in function `RefreshBackpack'
[string "@BetterBags/data/items.lua"]:99: in function `RefreshAll'
[string "@BetterBags/data/items.lua"]:64: in function `cb'
[string "@BetterBags/core/events.lua"]:113: in function <BetterBags/core/events.lua:108>

Locals:
self = <table> {
 ContinueOnLoad = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:44
 Cancel = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:61
 Create = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:16
 AreAnyLoadsOutstanding = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:57
 GetNumOutstandingLoads = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:53
 RecheckEvictableContinuables = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:91
 CheckIfSatisfied = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:75
 AddContinuable = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:26
 AddContinuables = <function> defined @FrameXML/ObjectAPI/ContinuableContainer.lua:20
}
callbackFunction = <function> defined @BetterBags/data/items.lua:166
(*temporary) = <function> defined =[C]:-1
(*temporary) = false
(*temporary) = nil
(*temporary) = "script ran too long"
4x ...ags/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua:20: script ran too long
[string "@BetterBags/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:20: in function <...ags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@BetterBags/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `SendMessage'
[string "@BetterBags/core/events.lua"]:129: in function `SendMessage'
[string "@BetterBags/data/items.lua"]:172: in function <BetterBags/data/items.lua:166>
[string "=[C]"]: in function `xpcall'
[string "@FrameXML/ObjectAPI/ContinuableContainer.lua"]:83: in function <..FrameXML/ObjectAPI/ContinuableContainer.lua:75>
[string "=(tail call)"]: ?
[string "@BetterBags/data/items.lua"]:166: in function `ProcessContainer'
[string "@BetterBags/data/items.lua"]:160: in function `RefreshBackpack'
[string "@BetterBags/data/items.lua"]:99: in function `RefreshAll'
[string "@BetterBags/data/items.lua"]:64: in function `cb'
[string "@BetterBags/core/events.lua"]:113: in function <BetterBags/core/events.lua:108>

Locals:
handlers = <table> {
  = <function> defined @BetterBags/core/events.lua:40
}
index = <table> {
 UnregisterAllMessages = <function> defined @BetterBags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
 UnregisterAllEvents = <function> defined @BetterBags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
 SendMessage = <function> defined @BetterBags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:49
 RegisterMessage = <function> defined @BetterBags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:80
 UnregisterMessage = <function> defined @BetterBags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:143
 UnregisterEvent = <function> defined @BetterBags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:143
 RegisterEvent = <function> defined @BetterBags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:80
}
method = <function> defined @BetterBags/core/events.lua:40
(*temporary) = <function> defined =[C]:-1
(*temporary) = <function> defined =[C]:-1
(*temporary) = nil
(*temporary) = "script ran too long"
next = <function> defined =[C]:-1
securecallfunction = <function> defined =[C]:-1
3x BetterBags/frames/column.lua:141: script ran too long
[string "@BetterBags/frames/column.lua"]:141: in function `Draw'
[string "@BetterBags/frames/grid.lua"]:192: in function `Draw'
[string "@BetterBags/views/gridview.lua"]:186: in function `Render'
[string "@BetterBags/frames/bag.lua"]:204: in function `Draw'
[string "@BetterBags/core/init.lua"]:139: in function `cb'
[string "@BetterBags/core/events.lua"]:45: in function <BetterBags/core/events.lua:40>
[string "=[C]"]: ?
[string "@AngryAssignments/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...nts/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@AngryAssignments/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `SendMessage'
[string "@BetterBags/core/events.lua"]:129: in function `SendMessage'
[string "@BetterBags/data/items.lua"]:172: in function <BetterBags/data/items.lua:166>
[string "=[C]"]: in function `xpcall'
[string "@FrameXML/ObjectAPI/ContinuableContainer.lua"]:83: in function <..FrameXML/ObjectAPI/ContinuableContainer.lua:75>
[string "=(tail call)"]: ?
[string "@BetterBags/data/items.lua"]:166: in function `ProcessContainer'
[string "@BetterBags/data/items.lua"]:160: in function `RefreshBackpack'
[string "@BetterBags/data/items.lua"]:99: in function `RefreshAll'
[string "@BetterBags/data/items.lua"]:64: in function `cb'
[string "@BetterBags/core/events.lua"]:113: in function <BetterBags/core/events.lua:108>

Locals:
self = <table> {
 spacing = 4
 cells = <table> {
 }
 minimumWidth = 0
 frame = Frame {
 }
 idToCell = <table> {
 }
}
style = 1
w = 655.000046
h = 786.000122
cellToRow = <table> {
  = 6
  = 1
  = 9
  = 5
  = 4
  = 5
  = 7
  = 8
  = 3
  = 7
  = 7
  = 5
  = 5
  = 2
  = 4
  = 5
  = 8
}
rows = <table> {
 1 = <table> {
 }
 2 = <table> {
 }
 3 = <table> {
 }
 4 = <table> {
 }
 5 = <table> {
 }
 6 = <table> {
 }
 7 = <table> {
 }
 8 = <table> {
 }
 9 = <table> {
 }
}
firstCellInRow = <table> {
 1 = <table> {
 }
 2 = <table> {
 }
 3 = <table> {
 }
 4 = <table> {
 }
 5 = <table> {
 }
 6 = <table> {
 }
 7 = <table> {
 }
 8 = <table> {
 }
 9 = <table> {
 }
}
(*temporary) = <function> defined =[C]:-1
(*temporary) = Frame {
 0 = <userdata>
}
(*temporary) = <function> defined =[C]:-1
(*temporary) = <function> defined @SharedXML/Frame/EventFrame.lua:42
(*temporary) = Frame {
 0 = <userdata>
 UnregisterUpdate = <function> defined @SharedXML/Scroll/ScrollBar.lua:325
 GetPanExtentPercentage = <function> defined @SharedXML/Scroll/ScrollController.lua:102
 GetFrameExtent = <function> defined @SharedXML/Scroll/ScrollController.lua:39
 OnThumbMouseDown = <function> defined @SharedXML/Scroll/ScrollBar.lua:421
 SelectPointComponent = <function> defined @SharedXML/Scroll/ScrollController.lua:65
 SetVisibleExtentPercentage = <function> defined @SharedXML/Scroll/ScrollBar.lua:137
 HasScrollableExtent = <function> defined @SharedXML/Scroll/ScrollBar.lua:200
 SetFrameExtent = <function> defined @SharedXML/Scroll/ScrollController.lua:44
 SetThumbExtent = <function> defined @SharedXML/Scroll/ScrollBar.lua:215
 GetThumb = <function> defined @SharedXML/Scroll/ScrollBar.lua:89
 GetUpper = <function> defined @SharedXML/Scroll/ScrollController.lua:52
 SetHorizontal = <function> defined @SharedXML/Scroll/ScrollController.lua:31
 GetVisibleExtentPercentage = <function> defined @SharedXML/Scroll/ScrollBar.lua:143
 SetHideIfUnscrollable = <function> defined @SharedXML/Scroll/ScrollBar.lua:228
 EnableSnapToInterval = <function> defined @SharedXML/Scroll/ScrollBar.lua:159
 ScrollStepInDirection = <function> defined @SharedXML/Scroll/ScrollBar.lua:121
 SetHideTrackIfThumbExceedsTrack = <function> defined @SharedXML/Scroll/ScrollBar.lua:233
 Directions = <table> {
 }
 Interpolate = <function> defined @SharedXML/Scroll/ScrollController.lua:145
 Update = <function> defined @SharedXML/Scroll/ScrollBar.lua:238
 GetCallbacksByEvent = <function> defined @SharedXML/CallbackRegistry.lua:89
 SetScrollPercentage = <function> defined @SharedXML/Scroll/ScrollBar.lua:163
 panExtentPercentage = 0
 GetForwardStepper = <function> defined @SharedXML/Scroll/ScrollBar.lua:81
 useProportionalThumb = true
 OnLoad = <function> defined @SharedXML/Scroll/ScrollBar.lua:37
 GetTrackExtent = <function> defined @SharedXML/Scroll/ScrollBar.lua:105
 CallInternalScope = <function> defined @SharedXML/Scroll/ScrollBar.lua:330
 Event = <table> {
 }
 SetPanExtentPercentage = <function> defined @SharedXML/Scroll/ScrollController.lua:106
 GetLower = <function> defined @SharedXML/Scroll/ScrollController.lua:56
 GetBackStepper = <function> defined @SharedXML/Scroll/ScrollBar.lua:77
 GetScrollPercentage = <function> defined @SharedXML/Scroll/ScrollController.lua:114
 interpolator = <table> {
 }
 scrollPercentage = 0
 OnStepperMouseDown = <function> defined @SharedXML/Scroll/ScrollBar.lua:336
 scrollInternal = <function> defined @SharedXML/FunctionUtil.lua:89
 visibleExtentPercentage = 1
 wheelPanScalar = 2
 Back = Button {
 }
 panRepeatTime = 0.100000
 ScrollToBegin = <function> defined @SharedXML/Scroll/ScrollBar.lua:147
 allowScroll = true
 callbackTables = <table> {
 }
 IsScrollAllowed = <function> defined @SharedXML/Scroll/ScrollController.lua:151
 Track = Frame {
1x BetterBags/frames/column.lua:108: script ran too long
[string "@BetterBags/frames/column.lua"]:108: in function `Draw'
[string "@BetterBags/frames/grid.lua"]:192: in function `Draw'
[string "@BetterBags/frames/section.lua"]:136: in function <BetterBags/frames/section.lua:130>
[string "=(tail call)"]: ?
[string "@BetterBags/views/gridview.lua"]:155: in function `Render'
[string "@BetterBags/frames/bag.lua"]:204: in function `Draw'
[string "@BetterBags/core/init.lua"]:139: in function `cb'
[string "@BetterBags/core/events.lua"]:45: in function <BetterBags/core/events.lua:40>
[string "=[C]"]: ?
[string "@BetterBags/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...ags/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@BetterBags/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `SendMessage'
[string "@BetterBags/core/events.lua"]:129: in function `SendMessage'
[string "@BetterBags/data/items.lua"]:172: in function <BetterBags/data/items.lua:166>
[string "=[C]"]: in function `xpcall'
[string "@FrameXML/ObjectAPI/ContinuableContainer.lua"]:83: in function <..FrameXML/ObjectAPI/ContinuableContainer.lua:75>
[string "=(tail call)"]: ?
[string "@BetterBags/data/items.lua"]:166: in function `ProcessContainer'
[string "@BetterBags/data/items.lua"]:160: in function `RefreshBackpack'
[string "@BetterBags/data/items.lua"]:99: in function `RefreshAll'
[string "@BetterBags/data/items.lua"]:64: in function `cb'
[string "@BetterBags/core/events.lua"]:113: in function <BetterBags/core/events.lua:108>

Locals:
self = <table> {
 spacing = 4
 cells = <table> {
 }
 minimumWidth = 0
 frame = Frame {
 }
 idToCell = <table> {
 }
}
style = 0
w = 37
h = 78.000023
cellToRow = <table> {
}
rows = <table> {
}
firstCellInRow = <table> {
}
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
 1 = <table> {
 }
 2 = <table> {
 }
 3 = <table> {
 }
}
(for control) = 3
cellPos = 3
cell = <table> {
 NormalTexture = BetterBagsItemButton540NormalTexture {
 }
 Stock = BetterBagsItemButton540Stock {
 }
 LockTexture = BetterBagsItemButton540LockButton {
 }
 kind = 0
 isFreeSlot = false
 data = <table> {
 }
 masqueGroup = "Backpack"
 ilvlText = FontString {
 }
 Count = BetterBagsItemButton540Count {
 }
 button = BetterBagsItemButton540 {
 }
 IconQuestTexture = BetterBagsItemButton540IconQuestTexture {
 }
 frame = BetterBagsItemButton540parent {
 }
 Cooldown = BetterBagsItemButton540Cooldown {
 }
 IconTexture = BetterBagsItemButton540IconTexture {
 }
}
(*temporary) = 37.000011
(*temporary) = BetterBagsItemButton540parent {
 0 = <userdata>
 Items = <table> {
 }
}
(*temporary) = 37.000011
(*temporary) = BetterBagsItemButton498parent {
 0 = <userdata>
 Items = <table> {
 }
}
(*temporary) = "BOTTOMLEFT"
(*temporary) = 0
(*temporary) = -4
(*temporary) = <userdata>
(*temporary) = nil
(*temporary) = nil
(*temporary) = "script ran too long"
const = <table> {
 BANK_ONLY_BAGS = <table> {
 }
 BAG_KIND = <table> {
 }
 Enable = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:290
 NewModule = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:231
 EnableModule = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:328
 modules = <table> {
 }
 GetModule = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:206
 IterateEmbeds = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:438
 BANK_BAGS = <table> {
 }
 BANK_ONLY_BAGS_LIST = <table> {
 }
 BRIEF_EXPANSION_MAP = <table> {
 }
 DATABASE_DEFAULTS = <table> {
 }
 SECTION_SORT_TYPE = <table> {
 }
 SetDefaultModulePrototype = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:405
 name = "BetterBags_Constants"
 IsEnabled = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:447
 orderedModules = <table> {
 }
 DisableModule = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:346
 OFFSETS = <table> {
 }
 ITEM_QUALITY_COLOR = <table> {
 }
 baseName = "BetterBags"
 TRADESKILL_MAP = <table> {
 }
 EXPANSION_MAP = <table> {
 }
 ITEM_SORT_TYPE = <table> {
 }
 GetName = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:275
 IsModule = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:213
 ITEM_QUALITY_HIGHLIGHT = <table> {
 }
 SetDefaultModuleState = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:383
 EXPANSION_TYPE = <table> {
 }
 ITEM_QUALITY_COLOR_LOW = <table> {
 }
 SetEnabledState = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:420
 SetDefaultModuleLibraries = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:363
 enabledState = false
 BACKPACK_ONLY_REAGENT_BAGS = <table> {
 }
 BAG_VIEW = <table> {
 }
 GRID_COMPACT_STYLE = <table> {
 }
 BACKPACK_ONLY_BAGS_LIST = <table> {
 }
 Disable = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:310
 defaultModuleLibraries = <table> {
 }
 IterateModules = <function> defined @BetterBags/libs/AceAddon-3.0/AceAddon-3.0.lua:433
 BACKPACK_BAGS = <table> {
 }
 REAGENTBANK_BAGS = <table> {
 }
 ITEM_QUALITY_COLOR_HIGH = <table> {
 }
 moduleName = "Constants"
 defaultModuleState = true
 BACKPACK_ONLY_BAGS = <table> {
 }
}

Steps to reproduce

  1. Have the bag open while in combat.
  2. Loot an item.
  3. Item may or may not appear in the bags; Bugsack/Buggrabber will show an error.
  4. Any future redraws will not occur.
  5. Reload will resolve.

BetterBags, Bugsack, and Buggrabber are the only addons enabled.

@AMaribo
Copy link
Collaborator Author

AMaribo commented Feb 19, 2024

After some more testing, I am able to reproduce the below error, as well as the ObjectAPI and CallbackHandler errors by simply looting an item while in combat, even with the bags closed.
It causes the bag items to be drawn on the screen at larger than normal size, with the bags closed.
image

6x BetterBags/frames/column.lua:61: script ran too long
[string "@BetterBags/frames/column.lua"]:61: in function `RemoveAll'
[string "@BetterBags/frames/grid.lua"]:147: in function `Draw'
[string "@BetterBags/frames/section.lua"]:136: in function <BetterBags/frames/section.lua:130>
[string "=(tail call)"]: ?
[string "@BetterBags/views/gridview.lua"]:155: in function `Render'
[string "@BetterBags/frames/bag.lua"]:204: in function `Draw'
[string "@BetterBags/core/init.lua"]:139: in function `cb'
[string "@BetterBags/core/events.lua"]:45: in function <BetterBags/core/events.lua:40>
[string "=[C]"]: ?
[string "@AngryAssignments/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...nts/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@AngryAssignments/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `SendMessage'
[string "@BetterBags/core/events.lua"]:129: in function `SendMessage'
[string "@BetterBags/data/items.lua"]:172: in function <BetterBags/data/items.lua:166>
[string "=[C]"]: in function `xpcall'
[string "@FrameXML/ObjectAPI/ContinuableContainer.lua"]:83: in function <..FrameXML/ObjectAPI/ContinuableContainer.lua:75>
[string "=(tail call)"]: ?
[string "@BetterBags/data/items.lua"]:166: in function `ProcessContainer'
[string "@BetterBags/data/items.lua"]:160: in function `RefreshBackpack'
[string "@BetterBags/data/items.lua"]:99: in function `RefreshAll'
[string "@BetterBags/data/items.lua"]:64: in function `cb'
[string "@BetterBags/core/events.lua"]:113: in function <BetterBags/core/events.lua:108>

Locals:
self = <table> {
 spacing = 4
 cells = <table> {
 }
 minimumWidth = 0
 frame = Frame {
 }
 idToCell = <table> {
 }
}
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
 1 = <table> {
 }
}
(for control) = 1
_ = 1
cell = <table> {
 NormalTexture = BetterBagsItemButton551NormalTexture {
 }
 Stock = BetterBagsItemButton551Stock {
 }
 LockTexture = BetterBagsItemButton551LockButton {
 }
 data = <table> {
 }
 isFreeSlot = false
 masqueGroup = "Backpack"
 kind = 0
 ilvlText = FontString {
 }
 Count = BetterBagsItemButton551Count {
 }
 button = BetterBagsItemButton551 {
 }
 IconQuestTexture = BetterBagsItemButton551IconQuestTexture {
 }
 frame = BetterBagsItemButton551parent {
 }
 Cooldown = BetterBagsItemButton551Cooldown {
 }
 IconTexture = BetterBagsItemButton551IconTexture {
 }
}
(*temporary) = <function> defined =[C]:-1
(*temporary) = <function> defined =[C]:-1
(*temporary) = BetterBagsItemButton551parent {
 0 = <userdata>
 Items = <table> {
 }
}
(*temporary) = "script ran too long"

@AMaribo AMaribo changed the title Looting Items in Combat with Bags Open Looting Items in Combat Feb 19, 2024
@Cidan Cidan moved this from To triage to Ready in BetterBags Issue Tracker Feb 20, 2024
@Cidan Cidan moved this from Ready to Released in BetterBags Issue Tracker Feb 21, 2024
@Cidan
Copy link
Owner

Cidan commented Feb 21, 2024

Fixed and released.

@Cidan Cidan closed this as completed Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage
Projects
Archived in project
Development

No branches or pull requests

2 participants