Change to use manual iteration

It seems like FireEvent() can potentially invalidate the unit entries in
normalUnitsWackyDependents, so extract the next key before calling it.

Fixes #4
This commit is contained in:
Parnic
2021-03-22 07:58:59 -05:00
parent de3a5205eb
commit 9c59ab23a3

View File

@ -56,8 +56,11 @@ local normalUnitsWackyDependents = {}
local function fireEventForDependents(event, unit, ...)
local wackyDependents = normalUnitsWackyDependents[unit]
if wackyDependents then
for unit in pairs(wackyDependents) do
unit = next(wackyDependents, nil)
while unit ~= nil do
local nextUnit = next(wackyDependents, unit)
DogTag:FireEvent(event, unit, ...)
unit = nextUnit
end
end
end