ZonePlus
ZonePlus copied to clipboard
Memory leak if parts get destroyed in a zone
function Zone:_partTouchedZone(part)
local trackingDict = self.trackingTouchedTriggers["part"]
if trackingDict[part] then return end
local nextCheck = 0
local verifiedEntrance = false
local enterPosition = part.Position
local enterTime = os.clock()
local partJanitor = self.janitor:add(Janitor.new(), "destroy")
trackingDict[part] = partJanitor
janitor:add(part.Destroying:Connect(function() -- This addition fixes the memory leak.
trackingDict[part]:destroy()
end), "Disconnect")
...
end
Thanks for the report
Using partJanitor:linkToInstance(part) is a better way to fix this here