mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-02-17 04:39:34 +00:00
Savestate the exit callback, reporting.
Seems like LoadExecForUser_362A956B() uses it, so we need to save it. I have no confidence that function works correctly, so let's report it.
This commit is contained in:
parent
91d73d0972
commit
a7ec139b5a
@ -86,7 +86,6 @@
|
||||
static bool kernelRunning = false;
|
||||
KernelObjectPool kernelObjects;
|
||||
KernelStats kernelStats;
|
||||
// TODO: Savestate this?
|
||||
u32 registeredExitCbId;
|
||||
|
||||
void __KernelInit()
|
||||
@ -185,12 +184,15 @@ void __KernelShutdown()
|
||||
void __KernelDoState(PointerWrap &p)
|
||||
{
|
||||
{
|
||||
auto s = p.Section("Kernel", 1);
|
||||
auto s = p.Section("Kernel", 1, 2);
|
||||
if (!s)
|
||||
return;
|
||||
|
||||
p.Do(kernelRunning);
|
||||
kernelObjects.DoState(p);
|
||||
|
||||
if (s >= 2)
|
||||
p.Do(registeredExitCbId);
|
||||
}
|
||||
|
||||
{
|
||||
@ -278,11 +280,6 @@ void sceKernelExitGameWithStatus()
|
||||
Core_Stop();
|
||||
}
|
||||
|
||||
int LoadExecForUser_362A956B()
|
||||
{
|
||||
return hleLoadExecForUser_362A956B();
|
||||
}
|
||||
|
||||
u32 sceKernelRegisterExitCallback(u32 cbId)
|
||||
{
|
||||
DEBUG_LOG(SCEKERNEL,"sceKernelRegisterExitCallback(%i)", cbId);
|
||||
|
@ -3662,8 +3662,9 @@ void __KernelChangeThreadState(SceUID threadId, ThreadStatus newStatus)
|
||||
__KernelChangeThreadState(t, newStatus);
|
||||
}
|
||||
|
||||
int hleLoadExecForUser_362A956B()
|
||||
int LoadExecForUser_362A956B()
|
||||
{
|
||||
WARN_LOG_REPORT(SCEKERNEL, "LoadExecForUser_362A956B()");
|
||||
u32 error;
|
||||
Callback *cb = kernelObjects.Get<Callback>(registeredExitCbId, error);
|
||||
if (!cb) {
|
||||
|
@ -304,4 +304,4 @@ struct DebugThreadInfo
|
||||
|
||||
std::vector<DebugThreadInfo> GetThreadsInfo();
|
||||
void __KernelChangeThreadState(SceUID threadId, ThreadStatus newStatus);
|
||||
int hleLoadExecForUser_362A956B();
|
||||
int LoadExecForUser_362A956B();
|
||||
|
Loading…
x
Reference in New Issue
Block a user