From 68f5596deed511ff69aa38da1d47da57695785cd Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 7 Apr 2013 10:32:39 -0700 Subject: [PATCH] Fix crash if queue is empty during savestate. On load it would then crash. --- Core/HLE/sceKernelThread.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Core/HLE/sceKernelThread.cpp b/Core/HLE/sceKernelThread.cpp index b2166a306c..3ef81b3605 100644 --- a/Core/HLE/sceKernelThread.cpp +++ b/Core/HLE/sceKernelThread.cpp @@ -579,18 +579,21 @@ struct ThreadQueueList Queue *cur = &queues[i]; int size = cur->end - cur->first; p.Do(size); + int capacity = cur->capacity; + p.Do(capacity); - if (size == 0) + if (capacity == 0) continue; if (p.mode == p.MODE_READ) { - link(i, size); + link(i, capacity); cur->first = (cur->capacity - size) / 2; cur->end = cur->first + size; } - p.DoArray(&cur->data[cur->first], size); + if (size != 0) + p.DoArray(&cur->data[cur->first], size); } p.DoMarker("ThreadQueueList");