diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-03-10 20:39:16 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-03-10 20:39:16 -0300 |
| commit | 3777fb44cf03d05fdedee00f1a19d30fac73b31b (patch) | |
| tree | 315dc98309bc19c05ee6ac79d1648ddfa2a87964 /Ryujinx.Core/OsHle/Ipc | |
| parent | 553f6c2976818b3abcd0fd09de582dc71f03736e (diff) | |
Allow to enable/disable memory checks even on release mode through the flag, return error for invalid addresses on SvcMap*Memory svcs, do not return error on SvcQueryMemory (instead, return reserved for the end of the address space), other minor tweaks
Diffstat (limited to 'Ryujinx.Core/OsHle/Ipc')
| -rw-r--r-- | Ryujinx.Core/OsHle/Ipc/IpcMessage.cs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Ryujinx.Core/OsHle/Ipc/IpcMessage.cs b/Ryujinx.Core/OsHle/Ipc/IpcMessage.cs index cc26df10..ebb3dbca 100644 --- a/Ryujinx.Core/OsHle/Ipc/IpcMessage.cs +++ b/Ryujinx.Core/OsHle/Ipc/IpcMessage.cs @@ -217,16 +217,26 @@ namespace Ryujinx.Core.OsHle.Ipc public long GetSendBuffPtr() { - if (SendBuff.Count > 0 && SendBuff[0].Position != 0) + if (SendBuff.Count > 0 && SendBuff[0].Size != 0) { return SendBuff[0].Position; } - if (PtrBuff.Count > 0 && PtrBuff[0].Position != 0) + if (PtrBuff.Count > 0 && PtrBuff[0].Size != 0) { return PtrBuff[0].Position; } + if (ReceiveBuff.Count > 0 && ReceiveBuff[0].Size != 0) + { + return ReceiveBuff[0].Position; + } + + if (RecvListBuff.Count > 0 && RecvListBuff[0].Size != 0) + { + return RecvListBuff[0].Position; + } + return -1; } } |
