diff options
author | Subv <[email protected]> | 2018-01-07 10:39:57 -0500 |
---|---|---|
committer | bunnei <[email protected]> | 2018-01-07 17:12:07 -0500 |
commit | c12c756539454908cf9868fc63d2425b3c87b1a3 (patch) | |
tree | 064103f6fa911888cc738f7b03204da0ac2e8811 /src/core/hle/service | |
parent | e3b4c8e0435f747de0f0c48983a5dbd8fe810d8c (diff) | |
download | yuzu-android-c12c756539454908cf9868fc63d2425b3c87b1a3.tar.gz yuzu-android-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/core/hle/service')
-rw-r--r-- | src/core/hle/service/pctl/pctl_a.cpp | 3 | ||||
-rw-r--r-- | src/core/hle/service/sm/controller.cpp | 6 |
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 { void PCTL_A::GetService(Kernel::HLERequestContext& ctx) { LOG_WARNING(Service, "(STUBBED) called"); - IPC::RequestBuilder rb{ctx, 1}; + IPC::RequestBuilder rb{ctx, 2}; rb.Push(RESULT_SUCCESS); + // TODO(Subv): This should return an IParentalControlService interface. } PCTL_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) { void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) { IPC::RequestBuilder rb{ctx, 2, 0, 1}; rb.Push(RESULT_SUCCESS); - rb.PushMoveObjects(ctx.ServerSession()); + // TODO(Subv): Check if this is correct + if (ctx.IsDomain()) + rb.PushMoveObjects(ctx.Domain()); + else + rb.PushMoveObjects(ctx.ServerSession()); LOG_DEBUG(Service, "called"); } |