fix(ipc): match Unregister call to Register call type in Dispose

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.
This commit is contained in:
2026-05-03 21:57:35 +02:00
parent 1d557f1b0e
commit feb6e262e4
+1 -1
View File
@@ -47,7 +47,7 @@ internal sealed class IpcManager : IDisposable
public void Dispose() public void Dispose()
{ {
UnregisterGate.UnregisterFunc(); UnregisterGate.UnregisterAction();
RegisterGate.UnregisterFunc(); RegisterGate.UnregisterFunc();
Registered.Clear(); Registered.Clear();
} }