Core: Reset exception info on resume/reset.

If you restart the game, it shouldn't still have this (will only show if
you enter debugging, but still.)
This commit is contained in:
Unknown W. Brackets 2020-07-12 21:27:24 -07:00
parent 04c15c82c9
commit b071db9ec2

View file

@ -94,6 +94,7 @@ void Core_ListenStopRequest(CoreStopRequestFunc func) {
} }
void Core_Stop() { void Core_Stop() {
g_exceptionInfo.type = ExceptionType::NONE;
Core_UpdateState(CORE_POWERDOWN); Core_UpdateState(CORE_POWERDOWN);
for (auto func : stopFuncs) { for (auto func : stopFuncs) {
func(); func();
@ -264,6 +265,7 @@ void Core_UpdateSingleStep() {
} }
void Core_SingleStep() { void Core_SingleStep() {
g_exceptionInfo.type = ExceptionType::NONE;
currentMIPS->SingleStep(); currentMIPS->SingleStep();
if (coreState == CORE_STEPPING) if (coreState == CORE_STEPPING)
steppingCounter++; steppingCounter++;
@ -361,6 +363,8 @@ void Core_EnableStepping(bool step) {
steppingCounter++; steppingCounter++;
} else { } else {
host->SetDebugMode(false); host->SetDebugMode(false);
// Clear the exception if we resume.
g_exceptionInfo.type = ExceptionType::NONE;
coreState = CORE_RUNNING; coreState = CORE_RUNNING;
coreStatePending = false; coreStatePending = false;
m_StepCond.notify_all(); m_StepCond.notify_all();