request_queue may not have anything in it on return from ExecuteCommand

i.e. when calling ES_Launch and everything is reset.

Don't call Update after queuing a request.
This commit is contained in:
Matthew Parlane 2013-04-25 14:23:56 +12:00
parent a03c35eb70
commit a2b543d47f
2 changed files with 7 additions and 3 deletions

View File

@ -212,8 +212,11 @@ void Write32(const u32 _Value, const u32 _Address)
_dbg_assert_msg_(WII_IPC, 0, "w32 %08x @ %08x", _Value, _Address);
break;
}
//WII_IPC_HLE_Interface::Update();
if((_Address & 0xFFFF) != IPC_PPCCTRL)
{
WII_IPC_HLE_Interface::Update();
}
CoreTiming::ScheduleEvent_Threadsafe(0, updateInterrupts, 0);
}

View File

@ -566,7 +566,8 @@ void Update()
INFO_LOG(WII_IPC_HLE, "||-- Acknowledge IPC Request @ 0x%08x", request_queue.front());
ExecuteCommand(request_queue.front());
request_queue.pop_front();
if(request_queue.size())
request_queue.pop_front();
#if MAX_LOGLEVEL >= DEBUG_LEVEL
Dolphin_Debugger::PrintCallstack(LogTypes::WII_IPC_HLE, LogTypes::LDEBUG);