diff options
| author | 2022-07-31 23:17:45 +0300 | |
|---|---|---|
| committer | 2022-07-31 23:17:45 +0300 | |
| commit | 1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d (patch) | |
| tree | cc65994f5877dd77f0797e0618421224644b97a3 /src | |
| parent | Merge pull request #8684 from liamwhite/delete-shader (diff) | |
| download | yuzu-1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d.tar.gz yuzu-1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d.tar.xz yuzu-1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d.zip | |
Properly write out the command buffer when serving close request
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/service.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index c64291e7f..dadaf897f 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp | |||
| @@ -194,13 +194,16 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session, | |||
| 194 | Kernel::HLERequestContext& ctx) { | 194 | Kernel::HLERequestContext& ctx) { |
| 195 | const auto guard = LockService(); | 195 | const auto guard = LockService(); |
| 196 | 196 | ||
| 197 | Result result = ResultSuccess; | ||
| 198 | |||
| 197 | switch (ctx.GetCommandType()) { | 199 | switch (ctx.GetCommandType()) { |
| 198 | case IPC::CommandType::Close: | 200 | case IPC::CommandType::Close: |
| 199 | case IPC::CommandType::TIPC_Close: { | 201 | case IPC::CommandType::TIPC_Close: { |
| 200 | session.Close(); | 202 | session.Close(); |
| 201 | IPC::ResponseBuilder rb{ctx, 2}; | 203 | IPC::ResponseBuilder rb{ctx, 2}; |
| 202 | rb.Push(ResultSuccess); | 204 | rb.Push(ResultSuccess); |
| 203 | return IPC::ERR_REMOTE_PROCESS_DEAD; | 205 | result = IPC::ERR_REMOTE_PROCESS_DEAD; |
| 206 | break; | ||
| 204 | } | 207 | } |
| 205 | case IPC::CommandType::ControlWithContext: | 208 | case IPC::CommandType::ControlWithContext: |
| 206 | case IPC::CommandType::Control: { | 209 | case IPC::CommandType::Control: { |
| @@ -227,7 +230,7 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session, | |||
| 227 | ctx.WriteToOutgoingCommandBuffer(ctx.GetThread()); | 230 | ctx.WriteToOutgoingCommandBuffer(ctx.GetThread()); |
| 228 | } | 231 | } |
| 229 | 232 | ||
| 230 | return ResultSuccess; | 233 | return result; |
| 231 | } | 234 | } |
| 232 | 235 | ||
| 233 | /// Initialize Services | 236 | /// Initialize Services |