diff options
| author | Subv <subv2112@gmail.com> | 2018-01-07 09:56:57 -0500 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2018-01-07 17:11:54 -0500 |
| commit | 80f6df5414517e575037661ffb903232bf3e590c (patch) | |
| tree | 8be1c03aab7a52034363beb19c541ff442ebfd2f /src/core/hle/ipc_helpers.h | |
| parent | 32847d8b860af1210612027680eea1cbf9765b51 (diff) | |
IPC: Fixed pushing ResultCodes into the command buffer.
They should have 32 bits of padding after the error code now.
Diffstat (limited to 'src/core/hle/ipc_helpers.h')
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index e5b296d60..b58e33a69 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h @@ -143,6 +143,13 @@ void RequestBuilder::PushRaw(const T& value) { } template <> +inline void RequestBuilder::Push(ResultCode value) { + // Result codes are actually 64-bit in the IPC buffer, but only the high part is discarded. + Push(value.raw); + Push<u32>(0); +} + +template <> inline void RequestBuilder::Push(u8 value) { PushRaw(value); } @@ -163,11 +170,6 @@ inline void RequestBuilder::Push(bool value) { Push(static_cast<u8>(value)); } -template <> -inline void RequestBuilder::Push(ResultCode value) { - Push(value.raw); -} - template <typename First, typename... Other> void RequestBuilder::Push(const First& first_value, const Other&... other_values) { Push(first_value); |
