diff --git a/Core/ChatLog.lua b/Core/ChatLog.lua index 92ac5d9..fddbfae 100644 --- a/Core/ChatLog.lua +++ b/Core/ChatLog.lua @@ -178,7 +178,8 @@ local whoSent, whoLast = 0, 0 local WHO_GAP, WHO_TIMEOUT, WHO_RETRY = 6, 5, 600 local forced = {} -function CL.Ask(name, force) +local memberTag = {} +function CL.Ask(name, force, member) if type(name) ~= "string" or name == "" then return end if force then forced[name] = true end local c, l = CL.Info(name) @@ -190,10 +191,22 @@ function CL.Ask(name, force) if whoQueue[k] == name then return end k = k + 1 end - if table.getn(whoQueue) >= 25 then return end + if table.getn(whoQueue) >= 80 then return end + if member then memberTag[name] = true end whoQueue[table.getn(whoQueue) + 1] = name end +-- beim Schliessen des Reiters: noch offene Mitglieder-Abfragen verwerfen +function CL.ClearMemberQueue() + local new, k = {}, 1 + while k <= table.getn(whoQueue) do + if not memberTag[whoQueue[k]] then new[table.getn(new) + 1] = whoQueue[k] end + k = k + 1 + end + whoQueue = new + memberTag = {} +end + local function WhoDone() whoCur = nil local ff = G.FriendsFrame diff --git a/Freewood-OctoWoW-Core.toc b/Freewood-OctoWoW-Core.toc index a75dfc8..ff0def0 100644 --- a/Freewood-OctoWoW-Core.toc +++ b/Freewood-OctoWoW-Core.toc @@ -3,7 +3,7 @@ ## Notes: Base addon of the Freewood family: data storage, UI kit, export/import and the main window. ## Notes-deDE: Basis-Addon der Freewood-Familie: Datenspeicher, UI-Bausteine, Export/Import und Hauptfenster. ## Author: Lacustat -## Version: 0.1.231 +## Version: 0.1.232 ## SavedVariables: FreewoodDB ## SavedVariablesPerCharacter: FreewoodCharDB diff --git a/UI/ChannelsTab.lua b/UI/ChannelsTab.lua index 9b19de2..e9e3006 100644 --- a/UI/ChannelsTab.lua +++ b/UI/ChannelsTab.lua @@ -700,6 +700,7 @@ local function Build(content) local c2, l2 = CL.Info(nm) cls = cls or c2; lv = lv or l2 end + if (not cls or not lv) and not (en and en.mode == "data") and search == "" then CL.Ask(nm, false, true) end SetClassIcon(r.icon, cls) local cr, cg, cb = CL.ClassColor(cls) local txt = Hex(cr, cg, cb) .. nm .. "|r" @@ -755,6 +756,7 @@ local function Build(content) f:SetScript("OnHide", function() CL.viewVisible = false + CL.ClearMemberQueue() HideMenu() copy:Hide() end)