Make HSessionObj implement IDisposable, so that objects that have handles created to them are disposed when the handles are closed.
This commit is contained in:
parent
55743c0cba
commit
b0c8a92ea4
1 changed files with 19 additions and 1 deletions
|
@ -1,6 +1,8 @@
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace Ryujinx.OsHle.Handles
|
namespace Ryujinx.OsHle.Handles
|
||||||
{
|
{
|
||||||
class HSessionObj : HSession
|
class HSessionObj : HSession, IDisposable
|
||||||
{
|
{
|
||||||
public object Obj { get; private set; }
|
public object Obj { get; private set; }
|
||||||
|
|
||||||
|
@ -8,5 +10,21 @@ namespace Ryujinx.OsHle.Handles
|
||||||
{
|
{
|
||||||
this.Obj = Obj;
|
this.Obj = Obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Dispose(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual void Dispose(bool Disposing)
|
||||||
|
{
|
||||||
|
if(Disposing && Obj != null)
|
||||||
|
{
|
||||||
|
if(Obj is IDisposable DisposableObj)
|
||||||
|
{
|
||||||
|
DisposableObj.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue