Page 1 of 1

Swatter Reported this Error

Posted: Tue Dec 09, 2014 1:16 pm
by esiemiat
I am not sure what I changed in the Census+ options panel to trigger this but the error prevented any census scans from running.
["message"] = "Interface\\AddOns\\CensusPlus\\CensusPlus.lua:4686: Who(query, [opts]): 'opts.flags' - nil or number expected got string",
["count"] = 12,
["locals"] = "(*temporary) = \"Who(query, [opts]): 'opts.flags' - nil or number expected got string\"",
["timestamp"] = "2014-12-09 13:55:09",
["context"] = "Global",
["stack"] = "[C]: in function `error'
...ace\\AddOns\\CensusPlus\\libs\\LibWho-2.0\\LibWho-2.0.lua:652: in function `CheckArgument'
...ace\\AddOns\\CensusPlus\\libs\\LibWho-2.0\\LibWho-2.0.lua:153: in function `Who'
Interface\\AddOns\\CensusPlus\\CensusPlus.lua:4686: in function `CensusPlus_SendWho'
Interface\\AddOns\\CensusPlus\\CensusPlus.lua:2410: in function <Interface>",
To fix this I had to modify line 153 in LibWho-2.0.lua.

From:
args.flags = self:CheckArgument(usage, 'opts.flags', 'number', flags, 0)

To:
args.flags = self:CheckArgument(usage, 'opts.flags', 'number', opts.flags, 0)

I have been running with this fix in place for a few days with no further errors. Hope this helps.

Posted: Tue Dec 09, 2014 2:26 pm
by bringoutyourdead
This is a very interesting error.

Are you using another addon that makes use of wholib? I expect it might be Wim...
That addon had a recent change and has generated a number of error comments since the last update.

the reason I ask is that opts.flag is never passed by CensusPlus since we only use Who:Who
so line 153 in LibWho should have returned on the nil hit.

In fact it is only used in the who:UserInfo call. Which is used by Prat and Wim.

Please open a ticket with Sylvanaar at
http://www.wowace.com/addons/wholib/tickets/
with your findings.
I know past fixes of yours have been incorporated.

Posted: Wed Dec 10, 2014 10:32 am
by esiemiat
Sorry, I reported to Sylvanaar on the addon's website.

I don't have any other addons that use the WhoLib API. I think the problem was caused by another addon that created a global variable by that name.

Posted: Wed Dec 10, 2014 1:36 pm
by bringoutyourdead
Thanks, I am hoping for an update in the wholib:who area...

Blizzard generated who calls should be passed through the hooked process without modification.
Addon generated who calls (with specific arguments) should be handled as per library specifications.