aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs
diff options
context:
space:
mode:
authorMary <me@thog.eu>2021-06-29 19:37:13 +0200
committerGitHub <noreply@github.com>2021-06-29 19:37:13 +0200
commit00ce9eea620652b97b4d3e8cd9218c6fccff8b1c (patch)
treef488b1b378a8ecbeaf54d5a7916062784a5588dc /Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs
parentfbb4019ed5c12c4a888c7b09db648ac595366896 (diff)
Fix disposing of IPC sessions server at emulation stop (#2334)
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Ro/IRoInterface.cs15
1 files changed, 9 insertions, 6 deletions
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