some linux stop issue fix (still not working right) please check on windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2076 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
cfc128abff
commit
d7a38393b7
|
@ -132,6 +132,23 @@ bool CPluginManager::InitPlugins()
|
||||||
|
|
||||||
void CPluginManager::ShutdownPlugins()
|
void CPluginManager::ShutdownPlugins()
|
||||||
{
|
{
|
||||||
|
for (int i = 0; i < MAXPADS; i++) {
|
||||||
|
if (m_pad[i] && OkayToInitPlugin(i)) {
|
||||||
|
m_pad[i]->Shutdown();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < MAXWIIMOTES; i++) {
|
||||||
|
if (m_wiimote[i]) m_wiimote[i]->Shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_video)
|
||||||
|
m_video->Shutdown();
|
||||||
|
|
||||||
|
if (m_dsp)
|
||||||
|
m_dsp->Shutdown();
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < MAXPADS; i++) {
|
for (int i = 0; i < MAXPADS; i++) {
|
||||||
if (m_pad[i] && OkayToInitPlugin(i)) {
|
if (m_pad[i] && OkayToInitPlugin(i)) {
|
||||||
Console::Print("Delete: %i\n", i);
|
Console::Print("Delete: %i\n", i);
|
||||||
|
@ -140,24 +157,17 @@ void CPluginManager::ShutdownPlugins()
|
||||||
m_pad[i] = NULL;
|
m_pad[i] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < MAXWIIMOTES; i++) {
|
|
||||||
if (m_wiimote[i]) m_wiimote[i]->Shutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < MAXWIIMOTES; i++) {
|
for (int i = 0; i < MAXWIIMOTES; i++) {
|
||||||
delete m_wiimote[i];
|
delete m_wiimote[i];
|
||||||
m_wiimote[i] = NULL;
|
m_wiimote[i] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_video)
|
delete m_dsp;
|
||||||
m_video->Shutdown();
|
m_dsp = NULL;
|
||||||
|
|
||||||
delete m_video;
|
delete m_video;
|
||||||
m_video = NULL;
|
m_video = NULL;
|
||||||
|
|
||||||
if (m_dsp)
|
|
||||||
m_dsp->Shutdown();
|
|
||||||
delete m_dsp;
|
|
||||||
m_dsp = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Supporting functions
|
// Supporting functions
|
||||||
|
|
|
@ -49,10 +49,6 @@ void AOSound::SoundLoop()
|
||||||
soundCriticalSection->Leave();
|
soundCriticalSection->Leave();
|
||||||
soundSyncEvent->Wait();
|
soundSyncEvent->Wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
ao_close(device);
|
|
||||||
device = NULL;
|
|
||||||
ao_shutdown();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void *soundThread(void *args) {
|
void *soundThread(void *args) {
|
||||||
|
@ -83,6 +79,10 @@ void AOSound::Stop()
|
||||||
delete soundCriticalSection;
|
delete soundCriticalSection;
|
||||||
delete thread;
|
delete thread;
|
||||||
delete soundSyncEvent;
|
delete soundSyncEvent;
|
||||||
|
|
||||||
|
ao_close(device);
|
||||||
|
device = NULL;
|
||||||
|
ao_shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include "ConfigDlg.h"
|
#include "ConfigDlg.h"
|
||||||
#include "Debugger/File.h" // For file logging
|
#include "Debugger/File.h" // For file logging
|
||||||
#include "Debugger/Debugger.h" // For the CDebugger class
|
#include "Debugger/Debugger.h" // For the CDebugger class
|
||||||
CDebugger* m_frame;
|
CDebugger* m_frame = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "ConsoleWindow.h" // Common: For the Windows console
|
#include "ConsoleWindow.h" // Common: For the Windows console
|
||||||
|
|
Loading…
Reference in New Issue