From 4d0c7385ece225cd1afabfd80bbd33fab32b5c7d Mon Sep 17 00:00:00 2001 From: ANR2ME Date: Thu, 13 Jan 2022 13:03:58 +0700 Subject: [PATCH] Fix an issue where sceNetAdhocGameModeCreateReplica blocked current thread for initial sync while Master data hasn't been created yet. --- Core/HLE/sceNetAdhoc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/HLE/sceNetAdhoc.cpp b/Core/HLE/sceNetAdhoc.cpp index 0962c6f79a..b9054e7898 100644 --- a/Core/HLE/sceNetAdhoc.cpp +++ b/Core/HLE/sceNetAdhoc.cpp @@ -4365,7 +4365,7 @@ static int sceNetAdhocGameModeCreateReplica(const char *mac, u32 dataAddr, int s ret = gma.id; // Valid id for replica is higher than 0? // Block current thread to sync initial master data after Master and all Replicas have been created - if (replicaGameModeAreas.size() == (gameModeMacs.size() - 1)) { + if (masterGameModeArea.data != NULL && replicaGameModeAreas.size() == (gameModeMacs.size() - 1)) { if (CoreTiming::IsScheduled(gameModeNotifyEvent)) { __KernelWaitCurThread(WAITTYPE_NET, GAMEMODE_WAITID, ret, 0, false, "syncing master data"); DEBUG_LOG(SCENET, "GameMode: Blocking Thread %d to Sync initial Master data", __KernelGetCurThread());