From ba2ffd7b8112d6dccbbecb1ba2438ce4c53b4fbe Mon Sep 17 00:00:00 2001
From: Subv <subv2112@gmail.com>
Date: Sun, 7 Jan 2018 09:59:38 -0500
Subject: [PATCH] IPC: Take the number of domain objects as a parameter in
 MakeBuilder.

---
 src/core/hle/ipc_helpers.h     | 6 ++++--
 src/core/hle/service/sm/sm.cpp | 4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h
index b58e33a69..40e6c4897 100644
--- a/src/core/hle/ipc_helpers.h
+++ b/src/core/hle/ipc_helpers.h
@@ -205,12 +205,14 @@ public:
     }
 
     RequestBuilder MakeBuilder(u32 normal_params_size, u32 num_handles_to_copy,
-                               u32 num_handles_to_move, bool validate_header = true) {
+                               u32 num_handles_to_move, u32 num_domain_objects,
+                               bool validate_header = true) {
         if (validate_header) {
             ValidateHeader();
         }
 
-        return {*context, normal_params_size, num_handles_to_copy, num_handles_to_move};
+        return {*context, normal_params_size, num_handles_to_copy, num_handles_to_move,
+                num_domain_objects};
     }
 
     template <typename T>
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index 6bfd6c50e..9bae34148 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -99,7 +99,7 @@ void SM::GetService(Kernel::HLERequestContext& ctx) {
 
     auto client_port = service_manager->GetServicePort(name);
     if (client_port.Failed()) {
-        IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 0);
+        IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 0, 0);
         rb.Push(client_port.Code());
         LOG_ERROR(Service_SM, "called service=%s -> error 0x%08X", name.c_str(),
                   client_port.Code().raw);
@@ -111,7 +111,7 @@ void SM::GetService(Kernel::HLERequestContext& ctx) {
     if (session.Succeeded()) {
         LOG_DEBUG(Service_SM, "called service=%s -> session=%u", name.c_str(),
                   (*session)->GetObjectId());
-        IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 1);
+        IPC::RequestBuilder rb = rp.MakeBuilder(2, 0, 1, 0);
         rb.Push(session.Code());
         rb.PushMoveObjects(std::move(session).Unwrap());
     }