Some fixes to Stop() process.

Unbreak linux stop on Single Core, remove an unnecessary wait event, fix DSP HLE/DSP LLE/OGL plugin hang on stop when the config dialog has been opened (nJoy and Wiimote still need to be fixed), avoid the CpuThread to be stuck in the efb/swap loop by setting a flag before the thread is actually shutdown (contrary to r4756 which was setting it.. after :D)
Clear the status bar Framerate/Core message when the game is stopped.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4769 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
sl1nk3.s
2010-01-01 03:55:39 +00:00
parent 25abd0f944
commit 5877961354
8 changed files with 113 additions and 96 deletions

View File

@ -176,26 +176,24 @@ void DllConfig(HWND _hParent)
g_Config.GameIniLoad(globals->game_ini);
if (!m_ConfigFrame)
m_ConfigFrame = new DSPConfigDialogHLE(GetParentedWxWindow(_hParent));
else if (!m_ConfigFrame->GetParent()->IsShown())
m_ConfigFrame->Close(true);
m_ConfigFrame->ClearBackends();
// add backends
std::vector<std::string> backends = AudioCommon::GetSoundBackends();
for (std::vector<std::string>::const_iterator iter = backends.begin();
iter != backends.end(); ++iter)
{
m_ConfigFrame->AddBackend((*iter).c_str());
}
m_ConfigFrame = new DSPConfigDialogHLE(GetParentedWxWindow(_hParent));
// Only allow one open at a time
if (!m_ConfigFrame->IsShown())
// add backends
std::vector<std::string> backends = AudioCommon::GetSoundBackends();
for (std::vector<std::string>::const_iterator iter = backends.begin();
iter != backends.end(); ++iter)
{
m_ConfigFrame->AddBackend((*iter).c_str());
}
// Only allow one open at a time
m_ConfigFrame->ShowModal();
else
m_ConfigFrame->Hide();
delete m_ConfigFrame;
m_ConfigFrame = 0;
}
#endif
}
@ -358,5 +356,5 @@ void DSP_SendAIBuffer(unsigned int address, unsigned int num_samples)
void DSP_ClearAudioBuffer()
{
if (soundStream)
soundStream->Clear(*g_dspInitialize.pEmulatorState);
soundStream->Clear(!!*g_dspInitialize.pEmulatorState);
}