Any thoughts or advice on this problem would be very much appreciated.
I am currently using the ACE3 Library to create a minimap icon for my addon. This has been working for quite awhile now on Classic, WotLK classic, and retail since 10.0.0.
When I cc’d my addon into the 10.2.5 PTR directory, the minimap button is no longer displayed and bugsack/bugGrabber displays a message that that a library instance of LibDataBroker-1.1 could not be found. Here’s the message:
2x AutoEquip/Sources/MinimapIcon.lua:32: Cannot find a library instance of “LibDataBroker-1.1”.
[string “=[C]”]: in functionerror' [string "@AutoEquip/LibACE/LibStub/LibStub.lua"]:23: in function
LibStub’
[string “@AutoEquip/Sources/MinimapIcon.lua”]:32: in main chunk
Here’s the ACE load order from my .toc file
LibACE\LibStub\LibStub.lua
LibACE\CallbackHandler-1.0\CallbackHandler-1.0.xml
LibACE\LibDataBroker-1.1\LibDataBroker-1.1.lua
LibACE\LibDBIcon-1.0\LibDBIcon-1.0.lua
LibACE\LibSharedMedia-3.0\LibSharedMedia-3.0.lua
LibACE\AceAddon-3.0\AceAddon-3.0.xml
LibACE\AceConsole-3.0\AceConsole-3.0.xml
LibACE\AceDB-3.0\AceDB-3.0.xml
Finally, here is the code in question,
local _, AutoEquip = ...
AutoEquip.AutoEquipIcon = {}
icon = AutoEquip.AutoEquipIcon
local L = AutoEquip.L
local dbg = equipdbg
local sprintf = _G.string.format
local ICON_AUTO_EQUIP = 894556
local addonName = enus:getAddonName()
-- register the addon with ACE
local addon = LibStub("AceAddon-3.0"):NewAddon(addonName, "AceConsole-3.0")
local shiftLeftClick = (button == "LeftButton") and IsShiftKeyDown()
local shiftRightClick = (button == "RightButton") and IsShiftKeyDown()
local altLeftClick = (button == "LeftButton") and IsAltKeyDown()
local altRightClick = (button == "RightButton") and IsAltKeyDown()
local rightButtonClick = (button == "RightButton")
local AutoEquip_DB = LibStub("LibDataBroker-1.1"):NewDataObject(enus.ADDON_NAME,
{
type = "data source",
text = addonName,
icon = ICON_AUTO_EQUIP,
OnTooltipShow = function( tooltip )
tooltip:AddLine(L["ADDON_AND_VERSION"])
tooltip:AddLine(L["LEFTCLICK_FOR_OPTIONS_MENU"] )
end,
OnClick = function(self, button )
-- LEFT CLICK - Display the options menu
if button == "LeftButton" and not IsShiftKeyDown() then
local anyAvailable, reason = equip:setsAreAvailable()
if not anyAvailable then
auto:postErrorMsg( reason )
-- menu:hide()
else
menu:show()
end
end
end,
})
-- so far so good. Now, create the actual icon
local icon = LibStub("LibDBIcon-1.0")
function addon:OnInitialize()
self.db = LibStub("AceDB-3.0"):New("AutoEquip_DB",
{ profile = { minimap = { hide = false, }, }, })
icon:Register(addonName, AutoEquip_DB, self.db.profile.minimap)
end