From 00ce9eea620652b97b4d3e8cd9218c6fccff8b1c Mon Sep 17 00:00:00 2001 From: Mary Date: Tue, 29 Jun 2021 19:37:13 +0200 Subject: Fix disposing of IPC sessions server at emulation stop (#2334) --- Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'Ryujinx.HLE/HOS/Services/Ro') diff --git a/Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs b/Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs index ff5db94f..aa17f6ac 100644 --- a/Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs +++ b/Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs @@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Services.Ro { [Service("ldr:ro")] [Service("ro:1")] // 7.0.0+ - class IRoInterface : IpcService, IDisposable + class IRoInterface : DisposableIpcService { private const int MaxNrr = 0x40; private const int MaxNro = 0x40; @@ -571,14 +571,17 @@ namespace Ryujinx.HLE.HOS.Services.Ro return ResultCode.Success; } - public void Dispose() + protected override void Dispose(bool isDisposing) { - foreach (NroInfo info in _nroInfos) + if (isDisposing) { - UnmapNroFromInfo(info); - } + foreach (NroInfo info in _nroInfos) + { + UnmapNroFromInfo(info); + } - _nroInfos.Clear(); + _nroInfos.Clear(); + } } } } \ No newline at end of file -- cgit v1.2.3