From eba9f79655f73ce81d1ac321a29899d56c2c1e98 Mon Sep 17 00:00:00 2001 From: EternityDev Date: Fri, 24 May 2024 20:52:00 +0700 Subject: [PATCH] Fix: Destroying a Signal --- src/Index/Signal/init.luau | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Index/Signal/init.luau b/src/Index/Signal/init.luau index f7fe2a3..df0cbbc 100644 --- a/src/Index/Signal/init.luau +++ b/src/Index/Signal/init.luau @@ -39,9 +39,13 @@ end function Signal:Disconnect(key: string) self[key]:Disconnect() + self[key] = nil end function Signal:DisconnectAll(): () + for _, handle in self do + handle:Disconnect() + end table.clear(self) end @@ -84,6 +88,12 @@ end function Signal:Destroy(): () self:DisconnectAll() + for idx: string, signal in Signals do + if self :: any == signal then + Signals[idx] = nil + break + end + end setmetatable(self, nil) end