LeoMelnyk / BGHistorian

WoW classic addon for battlegrounds history and statistics
GNU Affero General Public License v3.0
0 stars 1 forks source link

GUI error #1

Open Nillx opened 3 years ago

Nillx commented 3 years ago

Got this error today when i went to check my latest BG's stats

20x BGHistorian\GUI.lua:81: attempt to call method 'UpdateTableView' (a nil value)
[string "@BGHistorian\GUI.lua"]:81: in function `update'
[string "@SharedXML\HybridScrollFrame.lua"]:191: in function `HybridScrollFrame_SetOffset'
[string "@SharedXML\HybridScrollFrame.lua"]:30: in function <SharedXML\HybridScrollFrame.lua:29>
[string "=[C]"]: in function `SetValue'
[string "@SharedXML\HybridScrollFrame.lua"]:67: in function <SharedXML\HybridScrollFrame.lua:57>

Locals:
(*temporary) = nil
(*temporary) = <table> {
 BuildTable = <function> defined @BGHistorian\BGHistorian.lua:171
 EnableModule = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:332
 modules = <table> {
 }
 baseName = "BGHistorian"
 Sort = <function> defined @BGHistorian\GUI.lua:195
 MapId = <function> defined @BGHistorian\BGHistorian.lua:381
 Printf = <function> defined @Attune\Libs\AceConsole-3.0\AceConsole-3.0.lua:69
 MapName = <function> defined @BGHistorian\BGHistorian.lua:395
 Show = <function> defined @BGHistorian\GUI.lua:171
 sortOrder = true
 defaultModuleState = true
 IsEnabled = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:451
 UPDATE_BATTLEFIELD_SCORE = <function> defined @BGHistorian\BGHistorian.lua:67
 DisableModule = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:350
 CalcStats = <function> defined @BGHistorian\BGHistorian.lua:216
 UnregisterMessage = <function> defined @!KalielsTracker\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:153
 ResetDatabase = <function> defined @BGHistorian\BGHistorian.lua:409
 Toggle = <function> defined @BGHistorian\GUI.lua:187
 OptimizeDatabase = <function> defined @BGHistorian\BGHistorian.lua:414
 SetEnabledState = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:424
 enabledState = true
 RegisterEvent = <function> defined @!KalielsTracker\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:90
 DrawMinimapIcon = <function> defined @BGHistorian\BGHistorian.lua:139
 IterateModules = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:437
 UPDATE_BATTLEFIELD_STATUS = <function> defined @BGHistorian\BGHistorian.lua:40
 RecordBattleground = <function> defined @BGHistorian\BGHistorian.lua:101
 OnInitialize = <function> defined @BGHistorian\BGHistorian.lua:7
 NewModule = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:235
 MapIconId = <function> defined @BGHistorian\GUI.lua:213
 GetModule = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:210
 ShowTooltip = <function> defined @BGHistorian\GUI.lua:229
 defaultModuleLibraries = <table> {
 }
 Hide = <function> defined @BGHistorian\GUI.lua:183
 UnregisterChatCommand = <function> defined @Attune\Libs\AceConsole-3.0\AceConsole-3.0.lua:111
 HumanDuration = <function> defined @BGHistorian\GUI.lua:201
 battlegroundEnded = true
 ExtractHonorFromMessage = <function> defined @BGHistorian\BGHistorian.lua:89
 GetName = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:279
 ToggleMinimapButton = <function> defined @BGHistorian\BGHistorian.lua:162
 name = "BGHistorian"
 orderedModules = <table> {
 }
 Disable = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:314
 RefreshLayout = <function> defined @BGHistorian\GUI.lua:125
 current = <table> {
 }
 Print = <function> defined @Attune\Libs\AceConsole-3.0\AceConsole-3.0.lua:54
 IsModule = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:468
 sortColumn = "endTime"
 SetDefaultModuleState = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:387
 SetDefaultModuleLibraries = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:367
 db = <table> {
 }
 Enable = <function> defined @!KalielsTracker\Libs\AceAddon-3.0\AceAddon-3.0.lua:294
 CreateHeaderButton = <function> defined @BGHistorian\
KevinTyrrell commented 3 years ago

Not the developer, but I am looking into this as well. It appears the addon is unfinished.

The error refers to a function called UpdateTableView but there is no such function anywhere within BGHistorian or its libraries. I can only imagine the author intended to write that portion but didn't get around to it. At the moment it seems like the GUI frame has no scroll functionality until that is implemented.

KevinTyrrell commented 3 years ago

@Nillx @LeoMelnyk I've fixed this issue with the following change:

Modify the following: GUI.lua Line 83

function BGH:UpdateTableView()
    self:RefreshLayout()
end

Calling this function in this manner is highly inefficient as it involves completely redrawing the entire table, but it is the easiest way to solve this issue until the author posts an optimized fix.

LeoMelnyk commented 3 years ago

Looks like this was an issue in the original addon as well, I will add that for now and look into moving this over the ace scrolling table when I get some free time to work more on it. Thanks for finding a work around for this for the time being though!