CandyBar in its current form doesn't work with the AIO libraries "package". I've traced this to the the way that CB forms the path to the texture icon. Here is the offending code (line 1188):
local _,_,ourpath = string.find(debugstack(), "\\AddOns\\(.-)CandyBar%-2%.0%.lua")
Basically, this just parses back through the stack and finds the path to the addon. Fair enough; Problem is there appears to be a limit to the string length returned by debugstack(). If a line is too long it just prefixes it with "..." and truncates the beginning. This is all fine and dandy when the library isn't nested too deeply in the directory structure. However, as is the case with the AIO libraries, it breaks if it is. The following change does fix the problem:
local _,_,ourpath = string.find(debugstack(1,0,1), "dOns\\(.-)CandyBar%-2%.0%.lua")
However, it only fixes it in the context of the AIO library(it also works for the stand-alone embedded version). Should another addon have the code nested deeper it wouldn't work.
So, what to do? Find a real solution? or let it fly?