Combuctor (native Bagnon)

Combuctor (native Bagnon)

2M Downloads

No rules causes no buttons to be added, causing NIL in ruleFilter

C-Clymer opened this issue ยท 1 comments

commented

Running Software (issues missing this information will be deleted):

  • Addon version: 2.0.4
  • Server patch: Classic, not sure of build number

Have you read the changelog? (please don't waste our time)
Yup

Describe the bug
A clear and concise description of what the bug is.
I removed all the filters,( e.g. tradeskill, misc, etc) and the bag wont load due to NIL at buttons[0]. ruleFilter.lua line 41

To Reproduce
Steps to reproduce the behaviour:

  1. Remore all filters
  2. Reload ui
  3. Profit

Expected behaviour
Bags to work as expected with no filters to show

Error Logs

Date: 2019-08-31 07:31:02
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Combuctor\components\ruleFilter.lua line 45:
   attempt to index field '?' (a nil value)
Debug:
   Combuctor\components\ruleFilter.lua:45: Update()
   Combuctor\components\ruleFilter.lua:16: New()
   Combuctor\components\frame.lua:41: New()
   Combuctor\common\core\frames.lua:14: CreateFrame()
   Combuctor\main.lua:13:
      Combuctor\main.lua:10
   [C]: ?
   ...\Combuctor\common\libs\AceAddon-3.0\AceAddon-3.0.lua:70:
      ...\Combuctor\common\libs\AceAddon-3.0\AceAddon-3.0.lua:65
   ...\Combuctor\common\libs\AceAddon-3.0\AceAddon-3.0.lua:527: EnableAddon()
   ...\Combuctor\common\libs\AceAddon-3.0\AceAddon-3.0.lua:620:
      ...\Combuctor\common\libs\AceAddon-3.0\AceAddon-3.0.lua:605
   [C]: LoadAddOn()
   ..\FrameXML\UIParent.lua:353: UIParentLoadAddOn()
   ..\FrameXML\UIParent.lua:424: TimeManager_LoadUI()
   ..\FrameXML\UIParent.lua:693:
      ..\FrameXML\UIParent.lua:658
Locals:
None
AddOns:
  Swatter, v8.2.6377 (SwimmingSeadragon)
  AucAdvanced, v8.2.6385 (SwimmingSeadragon)
  AucFilterBasic, v8.2.6364 (SwimmingSeadragon)
  AucStatHistogram, v8.2.6366 (SwimmingSeadragon)
  AucStatiLevel, v8.2.6370 (SwimmingSeadragon)
  AucStatPurchased, v8.2.6367 (SwimmingSeadragon)
  AucStatSimple, v8.2.6368 (SwimmingSeadragon)
  AucStatStdDev, v8.2.6369 (SwimmingSeadragon)
  AucUtilFixAH, v8.2.6371 (SwimmingSeadragon)
  BagBrother, v
  BeanCounter, v8.2.6381 (SwimmingSeadragon)
  Combuctor, v8.2.2
  Details, v
  DetailsTinyThreat, v
  ElvUI, v1.03
  RealMobHealth, v2.2
  SlideBar, v8.2.6375 (SwimmingSeadragon)
  Stubby, v8.2.6376 (SwimmingSeadragon)
  VendorPrice, v1.1.4
  BlizRuntimeLib_enUS v1.13.2.11302 <none>
  (ck=2d2)

Additional context
So I fixed it locally in a super hacky way, id do a push request but I am sure you guys can handle this in a much better way...

ruleFilter.lua line 41 is now

		for k = n, #self.buttons do
			self.buttons[k]:Hide()
		end
		self.numButtons = n
	end

ruleFilter.lua line 79 is now

	if (parent) then
		return rule.id == parent or rule.id:match('^' .. parent .. '/.+')
	end

frame.lua line 108 is now

if self.sideFilter.numButtons == nil then
		self.sideFilter.numButtons = 0
	end
commented

Good catch, was thinking of creating an option to disable all filters immediately anyway, so this is good to know.