Add better savestate error handling.

Aborts when it can't load.
This commit is contained in:
Unknown W. Brackets
2013-04-13 01:39:17 -07:00
parent 117ffaeb60
commit fe97fd6fc5
7 changed files with 37 additions and 8 deletions
+6 -1
View File
@@ -405,7 +405,11 @@ public:
u32 numCallbacks = THREAD_CALLBACK_NUM_TYPES;
p.Do(numCallbacks);
if (numCallbacks != THREAD_CALLBACK_NUM_TYPES)
ERROR_LOG(HLE, "Unable to load state: different kernel object storage.");
{
p.SetError(p.ERROR_FAILURE);
ERROR_LOG(HLE, "Unable to load state: different thread callback storage.");
return;
}
for (size_t i = 0; i < THREAD_CALLBACK_NUM_TYPES; ++i)
{
@@ -581,6 +585,7 @@ struct ThreadQueueList
p.Do(numQueues);
if (numQueues != NUM_QUEUES)
{
p.SetError(p.ERROR_FAILURE);
ERROR_LOG(HLE, "Savestate loading error: invalid data");
return;
}