From 1040123a97a706205c17bacf009ff947c404a956 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 8 Sep 2013 18:46:01 -0700 Subject: [PATCH] Delete callbacks when their thread is deleted. --- Core/HLE/sceKernelThread.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Core/HLE/sceKernelThread.cpp b/Core/HLE/sceKernelThread.cpp index a783ae996b..c6ab762bcc 100644 --- a/Core/HLE/sceKernelThread.cpp +++ b/Core/HLE/sceKernelThread.cpp @@ -464,6 +464,10 @@ public: ~Thread() { + // Callbacks are automatically deleted when their owning thread is deleted. + for (auto it = callbacks.begin(), end = callbacks.end(); it != end; ++it) + kernelObjects.Destroy(*it); + if (pushedStacks.size() != 0) { WARN_LOG_REPORT(SCEKERNEL, "Thread ended within an extended stack");