aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Core/OsHle/Ipc
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-03-10 20:39:16 -0300
committergdkchan <gab.dark.100@gmail.com>2018-03-10 20:39:16 -0300
commit3777fb44cf03d05fdedee00f1a19d30fac73b31b (patch)
tree315dc98309bc19c05ee6ac79d1648ddfa2a87964 /Ryujinx.Core/OsHle/Ipc
parent553f6c2976818b3abcd0fd09de582dc71f03736e (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.cs14
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;
}
}