summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Subv2018-01-07 10:39:57 -0500
committerGravatar bunnei2018-01-07 17:12:07 -0500
commitc12c756539454908cf9868fc63d2425b3c87b1a3 (patch)
tree064103f6fa911888cc738f7b03204da0ac2e8811 /src
parentAppletOE: Fixed command buffer structure for ReceiveMessage. (diff)
downloadyuzu-c12c756539454908cf9868fc63d2425b3c87b1a3.tar.gz
yuzu-c12c756539454908cf9868fc63d2425b3c87b1a3.tar.xz
yuzu-c12c756539454908cf9868fc63d2425b3c87b1a3.zip
IPC: Make DuplicateSession return the Domain instead of the Session if the request was made on a Domain interface.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/pctl/pctl_a.cpp3
-rw-r--r--src/core/hle/service/sm/controller.cpp6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/core/hle/service/pctl/pctl_a.cpp b/src/core/hle/service/pctl/pctl_a.cpp
index e3bdd6c47..9fef0bcf1 100644
--- a/src/core/hle/service/pctl/pctl_a.cpp
+++ b/src/core/hle/service/pctl/pctl_a.cpp
@@ -11,8 +11,9 @@ namespace PCTL {
11 11
12void PCTL_A::GetService(Kernel::HLERequestContext& ctx) { 12void PCTL_A::GetService(Kernel::HLERequestContext& ctx) {
13 LOG_WARNING(Service, "(STUBBED) called"); 13 LOG_WARNING(Service, "(STUBBED) called");
14 IPC::RequestBuilder rb{ctx, 1}; 14 IPC::RequestBuilder rb{ctx, 2};
15 rb.Push(RESULT_SUCCESS); 15 rb.Push(RESULT_SUCCESS);
16 // TODO(Subv): This should return an IParentalControlService interface.
16} 17}
17 18
18PCTL_A::PCTL_A() : ServiceFramework("pctl:a") { 19PCTL_A::PCTL_A() : ServiceFramework("pctl:a") {
diff --git a/src/core/hle/service/sm/controller.cpp b/src/core/hle/service/sm/controller.cpp
index 392a3b2fe..ae38b6bb0 100644
--- a/src/core/hle/service/sm/controller.cpp
+++ b/src/core/hle/service/sm/controller.cpp
@@ -23,7 +23,11 @@ void Controller::ConvertSessionToDomain(Kernel::HLERequestContext& ctx) {
23void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) { 23void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) {
24 IPC::RequestBuilder rb{ctx, 2, 0, 1}; 24 IPC::RequestBuilder rb{ctx, 2, 0, 1};
25 rb.Push(RESULT_SUCCESS); 25 rb.Push(RESULT_SUCCESS);
26 rb.PushMoveObjects(ctx.ServerSession()); 26 // TODO(Subv): Check if this is correct
27 if (ctx.IsDomain())
28 rb.PushMoveObjects(ctx.Domain());
29 else
30 rb.PushMoveObjects(ctx.ServerSession());
27 31
28 LOG_DEBUG(Service, "called"); 32 LOG_DEBUG(Service, "called");
29} 33}