Core Stop and Start: Fixed stop and start again by avoiding FreeLibrary() of the OpenGL plugin, and avoiding a crash in its ShutDown() function. You need to use SETUP_FREE_PLUGIN_ON_BOOT to compile with this option that works on my system. Also, I noticed that I don't need the SETUP_AVOID_CHILD_WINDOW_RENDERING_HANG anymore, I can now delete the g_EmuThread without having it hanging in its waiting function.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2356 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
John Peterson
2009-02-22 04:24:53 +00:00
parent 5057d3b446
commit fc6a7c47d5
10 changed files with 98 additions and 45 deletions

View File

@ -73,11 +73,19 @@ ConfigDialog::ConfigDialog(wxWindow *parent, wxWindowID id, const wxString &titl
// ---------------
ConfigDialog::~ConfigDialog()
{
Console::Print("ConfigDialog Closed\n");
}
void ConfigDialog::OnClose(wxCloseEvent& event)
{
// notice that we don't run wxEntryCleanup(); here so the dll will still be loaded
g_Config.Save();
Console::Print("OnClose\n");
// notice that we don't run wxEntryCleanup(); here so the dll will still be loaded
/* JP: Yes, it seems like Close() does not do that. It only runs EndModal() or something
similar to hide the window. And I don't understand the "Window deletion overview" on
the wxWidgets website. Destroy() doesn't run the destructor either. */
//wxEntryCleanup();
//EndModal(0);
// Allow wxWidgets to close and unload the window
@ -86,7 +94,13 @@ void ConfigDialog::OnClose(wxCloseEvent& event)
void ConfigDialog::CloseClick(wxCommandEvent& WXUNUSED (event))
{
Close();
Console::Print("CloseClick\n");
g_Config.Save();
wxEntryCleanup();
//Close();
}
///////////////////////////////