From 17496330ce67ccb0d220e44dc6b2547eb7db80d9 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 22 Jun 2014 23:19:35 -0700 Subject: [PATCH] Don't wake a killed list in ge callback end. Fixes #3198, some homebrew demos locking up. --- Core/HLE/sceGe.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Core/HLE/sceGe.cpp b/Core/HLE/sceGe.cpp index 80e377f656..8ac607bc2a 100644 --- a/Core/HLE/sceGe.cpp +++ b/Core/HLE/sceGe.cpp @@ -227,7 +227,9 @@ public: if (newState != PSP_GE_DL_STATE_RUNNING) DEBUG_LOG_REPORT(SCEGE, "GE Interrupt: newState might be %d", newState); - dl->state = PSP_GE_DL_STATE_RUNNING; + if (dl->state != PSP_GE_DL_STATE_NONE && dl->state != PSP_GE_DL_STATE_COMPLETED) { + dl->state = PSP_GE_DL_STATE_QUEUED; + } } break; default: