Просмотр исходного кода

Fix LibHac.IStorage not being disposed in FileSystem proxy (#851)

Thog 6 лет назад
Родитель
Сommit
1db3a66da3
1 измененных файлов с 15 добавлено и 1 удалено
  1. 15 1
      Ryujinx.HLE/HOS/Services/Fs/FileSystemProxy/IStorage.cs

+ 15 - 1
Ryujinx.HLE/HOS/Services/Fs/FileSystemProxy/IStorage.cs

@@ -1,9 +1,10 @@
 using LibHac;
 using Ryujinx.HLE.HOS.Ipc;
+using System;
 
 namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
 {
-    class IStorage : IpcService
+    class IStorage : IpcService, IDisposable
     {
         private LibHac.Fs.IStorage _baseStorage;
 
@@ -51,5 +52,18 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
 
             return (ResultCode)result.Value;
         }
+
+        public void Dispose()
+        {
+            Dispose(true);
+        }
+
+        protected virtual void Dispose(bool disposing)
+        {
+            if (disposing)
+            {
+                _baseStorage?.Dispose();
+            }
+        }
     }
 }