diff options
| author | 2018-01-07 10:39:57 -0500 | |
|---|---|---|
| committer | 2018-01-07 17:12:07 -0500 | |
| commit | c12c756539454908cf9868fc63d2425b3c87b1a3 (patch) | |
| tree | 064103f6fa911888cc738f7b03204da0ac2e8811 /src | |
| parent | AppletOE: Fixed command buffer structure for ReceiveMessage. (diff) | |
| download | yuzu-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.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 { | |||
| 11 | 11 | ||
| 12 | void PCTL_A::GetService(Kernel::HLERequestContext& ctx) { | 12 | void 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 | ||
| 18 | PCTL_A::PCTL_A() : ServiceFramework("pctl:a") { | 19 | 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) { | |||
| 23 | void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) { | 23 | void 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 | } |