From 226786f0b05405b4c0287786f106ae2e08feefec Mon Sep 17 00:00:00 2001 From: Subv Date: Sat, 6 Jan 2018 21:14:14 -0500 Subject: IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects. Domain object ids are always stored immediately after the raw data. --- src/core/hle/kernel/hle_ipc.cpp | 2 +- src/core/hle/kernel/hle_ipc.h | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src/core/hle/kernel') diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp index 85dd80159..e784d59cc 100644 --- a/src/core/hle/kernel/hle_ipc.cpp +++ b/src/core/hle/kernel/hle_ipc.cpp @@ -95,7 +95,7 @@ void HLERequestContext::ParseCommandBuffer(u32_le* src_cmdbuf, bool incoming) { // If this is an incoming message, only CommandType "Request" has a domain header // All outgoing domain messages have the domain header domain_message_header = - std::make_unique(rp.PopRaw()); + std::make_unique(rp.PopRaw()); } data_payload_header = diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 7de13b36b..b5649931d 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -154,7 +154,11 @@ public: return buffer_x_desciptors; } - const std::unique_ptr& GetDomainMessageHeader() const { + const std::vector& BufferDescriptorA() const { + return buffer_a_desciptors; + } + + const std::unique_ptr& GetDomainMessageHeader() const { return domain_message_header; } @@ -172,7 +176,7 @@ private: std::unique_ptr command_header; std::unique_ptr handle_descriptor_header; std::unique_ptr data_payload_header; - std::unique_ptr domain_message_header; + std::unique_ptr domain_message_header; std::vector buffer_x_desciptors; std::vector buffer_a_desciptors; std::vector buffer_b_desciptors; -- cgit v1.2.3