From 68bccebdeb40ce99dc45f43a86bc52f6f7eafef2 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sat, 24 May 2014 14:13:18 -0700 Subject: [PATCH] Clear the psmfplayer handle on delete. --- Core/HLE/scePsmf.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/Core/HLE/scePsmf.cpp b/Core/HLE/scePsmf.cpp index 58bc768a83..1cb674de3d 100644 --- a/Core/HLE/scePsmf.cpp +++ b/Core/HLE/scePsmf.cpp @@ -1373,20 +1373,15 @@ int scePsmfPlayerDelete(u32 psmfPlayer) PsmfPlayer *psmfplayer = getPsmfPlayer(psmfPlayer); if (!psmfplayer) { ERROR_LOG(ME, "scePsmfPlayerDelete(%08x): invalid psmf player", psmfPlayer); - return ERROR_PSMF_NOT_FOUND; - } - - bool isInitialized = isInitializedStatus(psmfplayer->status); - if (!isInitialized) { - ERROR_LOG(ME, "scePsmfPlayerDelete(%08x): not initialized", psmfPlayer); return ERROR_PSMFPLAYER_INVALID_STATUS; } INFO_LOG(ME, "scePsmfPlayerDelete(%08x)", psmfPlayer); delete psmfplayer; - psmfPlayerMap.erase(psmfPlayer); + psmfPlayerMap.erase(Memory::Read_U32(psmfPlayer)); + Memory::Write_U32(0, psmfPlayer); - return 0; + return hleDelayResult(0, "psmfplayer deleted", 20000); } int scePsmfPlayerUpdate(u32 psmfPlayer)