From feb6e262e48190778a8d6c506f82cf2827bd343c Mon Sep 17 00:00:00 2001 From: JonKazama-Hellion Date: Sun, 3 May 2026 21:57:35 +0200 Subject: [PATCH] fix(ipc): match Unregister call to Register call type in Dispose MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UnregisterGate is registered via RegisterAction(Unregister) on construction (Unregister returns void), but Dispose was calling UnregisterFunc() instead of UnregisterAction(). The mismatched unregister call leaks the action subscription on plugin reload — subsequent Dispose/Init cycles would accumulate orphan handlers in the Dalamud IPC layer. Pre-existing upstream issue (CodeRabbit critical finding); fixed in v1.0.0 standalone cut where we own the codebase. --- HellionChat/IpcManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HellionChat/IpcManager.cs b/HellionChat/IpcManager.cs index 541817e..5db49a7 100755 --- a/HellionChat/IpcManager.cs +++ b/HellionChat/IpcManager.cs @@ -47,7 +47,7 @@ internal sealed class IpcManager : IDisposable public void Dispose() { - UnregisterGate.UnregisterFunc(); + UnregisterGate.UnregisterAction(); RegisterGate.UnregisterFunc(); Registered.Clear(); }