diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp index b46e259ee3..ad9c8c8de4 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE.cpp @@ -515,14 +515,14 @@ void ExecuteCommand(u32 _Address) } } - // It seems that the original hardware overwrites the command after it has been - // executed. We write 8 which is not any valid command, and what IOS does - Memory::Write_U32(8, _Address); - // IOS seems to write back the command that was responded to - Memory::Write_U32(Command, _Address + 8); - if (CmdSuccess) { + // It seems that the original hardware overwrites the command after it has been + // executed. We write 8 which is not any valid command, and what IOS does + Memory::Write_U32(8, _Address); + // IOS seems to write back the command that was responded to + Memory::Write_U32(Command, _Address + 8); + // Generate a reply to the IPC command EnqReply(_Address); } diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.cpp index e534d28baf..c2a078e443 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.cpp @@ -732,7 +732,7 @@ bool CWII_IPC_HLE_Device_net_ip_top::IOCtl(u32 CommandAddress) std::unique_lock lk(socketMapMutex); _tSocket* sock = new _tSocket(); socketMap[s] = sock; - sock->thread = new std::thread(&CWII_IPC_HLE_Device_net_ip_top::socketProcessor, this, s); + sock->thread = new std::thread([this, s]{this->socketProcessor(s);}); } break;