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:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user