diff --git a/Source/Core/DolphinWX/Src/Main.cpp b/Source/Core/DolphinWX/Src/Main.cpp index d05840d941..357050675c 100644 --- a/Source/Core/DolphinWX/Src/Main.cpp +++ b/Source/Core/DolphinWX/Src/Main.cpp @@ -89,6 +89,14 @@ LONG WINAPI MyUnhandledExceptionFilter(LPEXCEPTION_POINTERS e) { } #endif +bool DolphinApp::Initialize(int& c, wxChar **v) +{ +#if defined HAVE_X11 && HAVE_X11 + XInitThreads(); +#endif + return wxApp::Initialize(c, v); +} + // The `main program' equivalent that creates the main window and return the main frame bool DolphinApp::OnInit() @@ -328,10 +336,6 @@ bool DolphinApp::OnInit() SetTopWindow(main_frame); main_frame->SetMinSize(wxSize(400, 300)); -#if defined HAVE_X11 && HAVE_X11 - XInitThreads(); -#endif - // Postpone final actions until event handler is running. // Updating the game list makes use of wxProgressDialog which may // only be run after OnInit() when the event handler is running. diff --git a/Source/Core/DolphinWX/Src/Main.h b/Source/Core/DolphinWX/Src/Main.h index 0bcfa4a325..0fb99fcfd4 100644 --- a/Source/Core/DolphinWX/Src/Main.h +++ b/Source/Core/DolphinWX/Src/Main.h @@ -31,6 +31,7 @@ private: bool OnInit(); int OnExit(); void OnFatalException(); + bool Initialize(int& c, wxChar **v); void InitLanguageSupport(); void MacOpenFile(const wxString &fileName); diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp b/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp index 10a3c20382..cd0ea26872 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/GLUtil.cpp @@ -489,7 +489,7 @@ bool OpenGL_Create(int _iwidth, int _iheight) if (GLWin.vi == NULL) { ERROR_LOG(VIDEO, "Could not choose visual (glXChooseVisual)"); - exit(0); + return false; } } } @@ -501,7 +501,7 @@ bool OpenGL_Create(int _iwidth, int _iheight) if (!GLWin.ctx) { PanicAlert("Couldn't Create GLX context.Quit"); - exit(0); // TODO: Don't bring down entire Emu + return false; } GLWin.x = _tx;