From 8a94b8290e0c5cb80f04fde0491713cedf840ed5 Mon Sep 17 00:00:00 2001 From: robin Date: Sat, 1 May 2021 13:59:30 +0200 Subject: [PATCH] Dont add prefs twice (BrokerPack) when addon is loaded embedded and standalone --- Libs/zzConfig/zzConfig.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Libs/zzConfig/zzConfig.lua b/Libs/zzConfig/zzConfig.lua index 6585200..818c921 100644 --- a/Libs/zzConfig/zzConfig.lua +++ b/Libs/zzConfig/zzConfig.lua @@ -1,4 +1,4 @@ -local lib = LibStub:NewLibrary("zzConfig", 5) +local lib = LibStub:NewLibrary("zzConfig", 6) if not lib then return end local ldbicon = LibStub:GetLibrary("LibDBIcon-1.0") local mixins = {'AddConfigMenu', 'AddConfigEntry', 'InitConfig', 'GetDefaultHandler'} @@ -148,6 +148,13 @@ function lib:AddConfigMenu(options, parentName, order, handler, more) options['args'][parentName] = menu return options['args'][parentName] end +lib.AddedToBlizz = lib.AddedToBlizz or {} +local function addToBlizz(pName, cName) + if(not lib['AddedToBlizz'][pName]) then + lib['AddedToBlizz'][pName] = true + LibStub("AceConfigDialog-3.0"):AddToBlizOptions(pName, pName, cName) + end +end function lib:InitConfig(child, parentName, gp, sp) child['options'] = { ['name'] = parentName, @@ -162,7 +169,7 @@ function lib:InitConfig(child, parentName, gp, sp) local par = self:AddConfigMenu(options, parentName) self:AddLDBIconOptions(par, 'minimap') LibStub("AceConfig-3.0"):RegisterOptionsTable(parentName, options) - LibStub("AceConfigDialog-3.0"):AddToBlizOptions(parentName, parentName, child['parentName']) + addToBlizz(parentName, child['parentName']) return options end function lib:AddConfig(child, parentName, gp, sp) @@ -179,7 +186,7 @@ function lib:AddConfig(child, parentName, gp, sp) local par = self:AddConfigMenu(child['options'], specs['name']) self:AddLDBIconOptions(par, 'minimap') LibStub("AceConfig-3.0"):RegisterOptionsTable(specs['name'], child['options']) - LibStub("AceConfigDialog-3.0"):AddToBlizOptions(specs['name'], specs['name'], parentName) + addToBlizz(specs['name'], parentName) return child['options'] end function lib:Embed(target)