mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
Core Stop and Start: Added alternative separate thread timer/loop based waiting, instead of same thread loop waiting. You can try it with the SETUP_TIMER_WAITING option in Setup.h.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2375 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -19,6 +19,7 @@
|
||||
#include "Config.h"
|
||||
#include "IniFile.h"
|
||||
#include "svnrev.h"
|
||||
#include "Setup.h"
|
||||
|
||||
#include "Render.h"
|
||||
|
||||
@ -768,9 +769,11 @@ void OpenGL_Shutdown()
|
||||
hRC = NULL; // Set RC To NULL
|
||||
}
|
||||
|
||||
if (hDC && !ReleaseDC(EmuWindow::GetWnd(),hDC)) // Are We Able To Release The DC
|
||||
if (hDC && !ReleaseDC(EmuWindow::GetWnd(), hDC)) // Are We Able To Release The DC
|
||||
{
|
||||
#ifndef SETUP_TIMER_WAITING // This fails
|
||||
MessageBox(NULL,"Release Device Context Failed.", "SHUTDOWN ERROR", MB_OK | MB_ICONINFORMATION);
|
||||
#endif
|
||||
hDC = NULL; // Set DC To NULL
|
||||
}
|
||||
#elif defined(HAVE_X11) && HAVE_X11
|
||||
|
@ -83,7 +83,7 @@ void __Log(const char *fmt, ...)
|
||||
if (pfLog != NULL && LocalLogFile)
|
||||
fwrite(Msg, strlen(Msg), 1, pfLog);
|
||||
|
||||
Console::Print(Msg);
|
||||
Console::Print(Msg);
|
||||
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@ void __Log(int type, const char *fmt, ...)
|
||||
va_end(ap);
|
||||
|
||||
g_VideoInitialize.pLog(Msg, FALSE);
|
||||
Console::Print(Msg);
|
||||
Console::Print(Msg);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -148,6 +148,11 @@ HWND GetParentWnd()
|
||||
return m_hParent;
|
||||
}
|
||||
|
||||
HWND GetChildParentWnd()
|
||||
{
|
||||
return m_hMain;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK WndProc( HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
HDC hdc;
|
||||
|
@ -25,6 +25,7 @@ namespace EmuWindow
|
||||
|
||||
HWND GetWnd();
|
||||
HWND GetParentWnd();
|
||||
HWND GetChildParentWnd();
|
||||
HWND Create(HWND hParent, HINSTANCE hInstance, const TCHAR *title);
|
||||
void Show();
|
||||
void Close();
|
||||
|
@ -299,7 +299,9 @@ void Video_Prepare(void)
|
||||
void Shutdown(void)
|
||||
{
|
||||
Fifo_Shutdown();
|
||||
TextureConverter::Shutdown();
|
||||
#ifndef SETUP_TIMER_WAITING // This is not compatible, it crashes after the second Stop
|
||||
TextureConverter::Shutdown();
|
||||
#endif
|
||||
VertexLoaderManager::Shutdown();
|
||||
VertexShaderCache::Shutdown();
|
||||
VertexShaderManager::Shutdown();
|
||||
@ -308,8 +310,14 @@ void Shutdown(void)
|
||||
VertexManager::Shutdown();
|
||||
TextureMngr::Shutdown();
|
||||
OpcodeDecoder_Shutdown();
|
||||
Renderer::Shutdown();
|
||||
#ifndef SETUP_TIMER_WAITING // This is not compatible, it may crashes after a Stop
|
||||
Renderer::Shutdown();
|
||||
#endif
|
||||
OpenGL_Shutdown();
|
||||
#ifdef SETUP_TIMER_WAITING
|
||||
// Do we ever destroy the window?
|
||||
EmuWindow::Close();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user