Преглед изворни кода

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

Thog пре 6 година
родитељ
комит
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 LibHac;
 using Ryujinx.HLE.HOS.Ipc;
 using Ryujinx.HLE.HOS.Ipc;
+using System;
 
 
 namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
 namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
 {
 {
-    class IStorage : IpcService
+    class IStorage : IpcService, IDisposable
     {
     {
         private LibHac.Fs.IStorage _baseStorage;
         private LibHac.Fs.IStorage _baseStorage;
 
 
@@ -51,5 +52,18 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
 
 
             return (ResultCode)result.Value;
             return (ResultCode)result.Value;
         }
         }
+
+        public void Dispose()
+        {
+            Dispose(true);
+        }
+
+        protected virtual void Dispose(bool disposing)
+        {
+            if (disposing)
+            {
+                _baseStorage?.Dispose();
+            }
+        }
     }
     }
 }
 }