diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp index a3443aebe7..aef75b1fae 100644 --- a/Source/Core/DolphinWX/Src/Frame.cpp +++ b/Source/Core/DolphinWX/Src/Frame.cpp @@ -349,9 +349,6 @@ CFrame::CFrame(wxFrame* parent, // Give it a console early to show potential messages from this onward ConsoleListener *Console = LogManager::GetInstance()->getConsoleListener(); if (SConfig::GetInstance().m_InterfaceConsole) Console->Open(); - m_LogWindow = new CLogWindow(this, IDM_LOGWINDOW); - m_LogWindow->Hide(); - m_LogWindow->Disable(); // Start debugging mazimized if (UseDebugger) this->Maximize(true); @@ -420,6 +417,10 @@ CFrame::CFrame(wxFrame* parent, RecreateToolbar(); if (!SConfig::GetInstance().m_InterfaceToolbar) DoToggleToolbar(false); + m_LogWindow = new CLogWindow(this, IDM_LOGWINDOW); + m_LogWindow->Hide(); + m_LogWindow->Disable(); + // Create list of available plugins for the configuration window CPluginManager::GetInstance().ScanForPlugins(); diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp index 4091dd3b31..d5af6ddb20 100644 --- a/Source/Core/DolphinWX/Src/FrameTools.cpp +++ b/Source/Core/DolphinWX/Src/FrameTools.cpp @@ -956,20 +956,34 @@ void CFrame::OnConfigMain(wxCommandEvent& WXUNUSED (event)) void CFrame::OnPluginGFX(wxCommandEvent& WXUNUSED (event)) { + #ifdef _WIN32 + Disable(); // Fake a modal dialog + #endif CPluginManager::GetInstance().OpenConfig( this, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin.c_str(), PLUGIN_TYPE_VIDEO ); + #ifdef _WIN32 + Enable(); + Raise(); + #endif } void CFrame::OnPluginDSP(wxCommandEvent& WXUNUSED (event)) { + #ifdef _WIN32 + Disable(); // Fake a modal dialog + #endif CPluginManager::GetInstance().OpenConfig( this, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str(), PLUGIN_TYPE_DSP ); + #ifdef _WIN32 + Enable(); + Raise(); + #endif } void CFrame::OnPluginPAD(wxCommandEvent& WXUNUSED (event)) @@ -998,11 +1012,18 @@ void CFrame::OnPluginPAD(wxCommandEvent& WXUNUSED (event)) void CFrame::OnPluginWiimote(wxCommandEvent& WXUNUSED (event)) { + #ifdef _WIN32 + Disable(); // Fake a modal dialog + #endif CPluginManager::GetInstance().OpenConfig( this, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strWiimotePlugin.c_str(), PLUGIN_TYPE_WIIMOTE ); + #ifdef _WIN32 + Enable(); + Raise(); + #endif } void CFrame::OnHelp(wxCommandEvent& event) diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.cpp b/Source/Core/DolphinWX/Src/GameListCtrl.cpp index f80e076fb6..b5281b74cb 100644 --- a/Source/Core/DolphinWX/Src/GameListCtrl.cpp +++ b/Source/Core/DolphinWX/Src/GameListCtrl.cpp @@ -1286,22 +1286,21 @@ void CGameListCtrl::OnCompressGCM(wxCommandEvent& WXUNUSED (event)) { if (iso->IsCompressed()) { - wxString Ext; + wxString FileType; if (iso->GetPlatform() == GameListItem::WII_DISC) - Ext = wxT("*.iso"); + FileType = wxT("All Wii ISO files (iso)|*.iso"); else - Ext = wxT("*.gcm"); + FileType = wxT("All Gamecube GCM files (gcm)|*.gcm"); path = wxFileSelector( _T("Save decompressed GCM/ISO"), wxString(FilePath.c_str(), *wxConvCurrent), - wxString(FileName.c_str(), *wxConvCurrent) + Ext.After('*'), + wxString(FileName.c_str(), *wxConvCurrent) + FileType.After('*'), wxEmptyString, + FileType + wxString::Format ( - _T("All GC/Wii ISO files (%s)|%s|All files (%s)|%s"), - (wxChar *)Ext.After('.').wchar_str(), - (wxChar *)Ext.wchar_str(), + _T("|All files (%s)|%s"), wxFileSelectorDefaultWildcardStr, wxFileSelectorDefaultWildcardStr ), diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/Debugger/DSPDebugWindow.cpp b/Source/Plugins/Plugin_DSP_LLE/Src/Debugger/DSPDebugWindow.cpp index 0e8e66c6b6..cacdfa7a9f 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/Debugger/DSPDebugWindow.cpp +++ b/Source/Plugins/Plugin_DSP_LLE/Src/Debugger/DSPDebugWindow.cpp @@ -163,11 +163,19 @@ void DSPDebuggerLLE::OnShowPC(wxCommandEvent& event) void DSPDebuggerLLE::Refresh() { +#ifdef __linux__ + if (!wxIsMainThread()) + wxMutexGuiEnter(); +#endif UpdateSymbolMap(); UpdateDisAsmListView(); UpdateRegisterFlags(); UpdateState(); m_mgr.Update(); +#ifdef __linux__ + if (!wxIsMainThread()) + wxMutexGuiLeave(); +#endif } void DSPDebuggerLLE::FocusOnPC()