mirror of
https://github.com/parnic/LibDogTag-Unit-3.0.git
synced 2025-06-16 21:41:53 -05:00
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:
@ -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
|
||||
|
Reference in New Issue
Block a user