From 3936c934482a587635bc5a1e47962551aeb53aeb Mon Sep 17 00:00:00 2001 From: gdkchan Date: Fri, 23 Feb 2018 21:59:38 -0300 Subject: Map heap on heap base region, fix for thread start on homebrew, add FCVTMU and FCVTPU (general) instructions, fix FMOV (higher 64 bits) encodings, improve emit code for FCVT* (general) instructions --- Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs | 2 +- Ryujinx.Core/OsHle/Objects/FspSrv/IFileSystem.cs | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'Ryujinx.Core/OsHle/Objects') diff --git a/Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs b/Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs index 23863099..54588383 100644 --- a/Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs +++ b/Ryujinx.Core/OsHle/Objects/Android/NvFlinger.cs @@ -245,7 +245,7 @@ namespace Ryujinx.Core.OsHle.Objects.Android HNvMap NvMap = GetNvMap(Context, Slot); - if (NvMap.Address < 0 || NvMap.Address + FbSize > AMemoryMgr.AddrSize) + if (FbSize < 0 || NvMap.Address < 0 || NvMap.Address + FbSize > AMemoryMgr.AddrSize) { Logging.Error($"Frame buffer address {NvMap.Address:x16} is invalid!"); diff --git a/Ryujinx.Core/OsHle/Objects/FspSrv/IFileSystem.cs b/Ryujinx.Core/OsHle/Objects/FspSrv/IFileSystem.cs index e18c1daf..6b86a473 100644 --- a/Ryujinx.Core/OsHle/Objects/FspSrv/IFileSystem.cs +++ b/Ryujinx.Core/OsHle/Objects/FspSrv/IFileSystem.cs @@ -273,7 +273,16 @@ namespace Ryujinx.Core.OsHle.Objects.FspSrv FileStream Stream = new FileStream(FileName, FileMode.Open); - MakeObject(Context, new IFile(Stream, FileName)); + IFile FileInterface = new IFile(Stream, FileName); + + FileInterface.Disposed += RemoveFileInUse; + + lock (OpenPaths) + { + OpenPaths.Add(FileName); + } + + MakeObject(Context, FileInterface); return 0; } @@ -353,7 +362,7 @@ namespace Ryujinx.Core.OsHle.Objects.FspSrv lock (OpenPaths) { - FileInterface.Disposed -= RemoveDirectoryInUse; + FileInterface.Disposed -= RemoveFileInUse; OpenPaths.Remove(FileInterface.HostPath); } -- cgit v1.2.3