From afb82b1d8c183e8a816c0c4154e64e84dba82ea5 Mon Sep 17 00:00:00 2001 From: Glenn Rice Date: Sun, 24 Jan 2010 14:41:53 +0000 Subject: [PATCH] Fix the PadSimple and GCPad plugins so their dialogs close properly. Get rid of g_FrameOpen variable in Wiimote plugin. It isn't needed anymore. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4948 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Plugins/Plugin_GCPad/Src/GCPad.cpp | 3 ++- Source/Plugins/Plugin_PadSimple/Src/PadSimple.cpp | 15 +++++---------- .../Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp | 1 - Source/Plugins/Plugin_Wiimote/Src/main.cpp | 7 +++---- Source/Plugins/Plugin_Wiimote/Src/main.h | 1 - 5 files changed, 10 insertions(+), 17 deletions(-) diff --git a/Source/Plugins/Plugin_GCPad/Src/GCPad.cpp b/Source/Plugins/Plugin_GCPad/Src/GCPad.cpp index 7c2d66c74e..0804e1cc83 100644 --- a/Source/Plugins/Plugin_GCPad/Src/GCPad.cpp +++ b/Source/Plugins/Plugin_GCPad/Src/GCPad.cpp @@ -161,8 +161,9 @@ void DllConfig(HWND _hParent) { m_ConfigFrame = new GCPadConfigDialog(GetParentedWxWindow(_hParent)); m_ConfigFrame->ShowModal(); + m_ConfigFrame->Destroy(); delete m_ConfigFrame; - m_ConfigFrame = 0; + m_ConfigFrame = NULL; } #endif } diff --git a/Source/Plugins/Plugin_PadSimple/Src/PadSimple.cpp b/Source/Plugins/Plugin_PadSimple/Src/PadSimple.cpp index 0ba14dbf62..ddafd516ae 100644 --- a/Source/Plugins/Plugin_PadSimple/Src/PadSimple.cpp +++ b/Source/Plugins/Plugin_PadSimple/Src/PadSimple.cpp @@ -623,16 +623,11 @@ void DllConfig(HWND _hParent) // Show wxDialog #if defined(HAVE_WX) && HAVE_WX - if (!m_ConfigFrame) - m_ConfigFrame = new PADConfigDialogSimple(GetParentedWxWindow(_hParent)); - else if (!m_ConfigFrame->GetParent()->IsShown()) - m_ConfigFrame->Close(true); - - // Only allow one open at a time - if (!m_ConfigFrame->IsShown()) - m_ConfigFrame->ShowModal(); - else - m_ConfigFrame->Hide(); + m_ConfigFrame = new PADConfigDialogSimple(GetParentedWxWindow(_hParent)); + m_ConfigFrame->ShowModal(); + m_ConfigFrame->Destroy(); + delete m_ConfigFrame; + m_ConfigFrame = NULL; #endif // Save configuration diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp b/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp index 3c9da08c61..1b57201eee 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigBasicDlg.cpp @@ -76,7 +76,6 @@ WiimoteBasicConfigDialog::WiimoteBasicConfigDialog(wxWindow *parent, wxWindowID void WiimoteBasicConfigDialog::OnClose(wxCloseEvent& event) { - g_FrameOpen = false; EndModal(wxID_CLOSE); } diff --git a/Source/Plugins/Plugin_Wiimote/Src/main.cpp b/Source/Plugins/Plugin_Wiimote/Src/main.cpp index 51496ff234..b9c78300f6 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/main.cpp +++ b/Source/Plugins/Plugin_Wiimote/Src/main.cpp @@ -50,7 +50,6 @@ PLUGIN_GLOBALS* globals = NULL; // General bool g_EmulatorRunning = false; u32 g_ISOId = 0; -bool g_FrameOpen = false; bool g_SearchDeviceDone = false; bool g_RealWiiMotePresent = false; bool g_RealWiiMoteInitialized = false; @@ -184,9 +183,10 @@ void DllConfig(HWND _hParent) #if defined(HAVE_WX) && HAVE_WX m_BasicConfigFrame = new WiimoteBasicConfigDialog(GetParentedWxWindow(_hParent)); - g_FrameOpen = true; m_BasicConfigFrame->ShowModal(); m_BasicConfigFrame->Destroy(); + delete m_BasicConfigFrame; + m_BasicConfigFrame = NULL; #endif } @@ -199,7 +199,7 @@ void Initialize(void *init) // Update the GUI if the configuration window is already open #if defined(HAVE_WX) && HAVE_WX - if (g_FrameOpen) + if (m_BasicConfigFrame) { // Save the settings g_Config.Save(); @@ -263,7 +263,6 @@ void DoState(unsigned char **ptr, int mode) //p.Do(g_EmulatorRunning); //p.Do(g_ISOId); - //p.Do(g_FrameOpen); //p.Do(g_RealWiiMotePresent); //p.Do(g_RealWiiMoteInitialized); //p.Do(g_EmulatedWiiMoteInitialized); diff --git a/Source/Plugins/Plugin_Wiimote/Src/main.h b/Source/Plugins/Plugin_Wiimote/Src/main.h index 133fba289c..6c624fd4de 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/main.h +++ b/Source/Plugins/Plugin_Wiimote/Src/main.h @@ -61,7 +61,6 @@ struct SRecordingAll // General extern bool g_EmulatorRunning; extern u32 g_ISOId; - extern bool g_FrameOpen; extern bool g_SearchDeviceDone; extern bool g_RealWiiMotePresent; extern bool g_RealWiiMoteInitialized;