summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Nikita Strygin2022-07-31 23:17:45 +0300
committerGravatar Nikita Strygin2022-07-31 23:17:45 +0300
commit1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d (patch)
treecc65994f5877dd77f0797e0618421224644b97a3
parentMerge pull request #8684 from liamwhite/delete-shader (diff)
downloadyuzu-1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d.tar.gz
yuzu-1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d.tar.xz
yuzu-1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d.zip
Properly write out the command buffer when serving close request
-rw-r--r--src/core/hle/service/service.cpp7
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