From cde1c5bd60dc738ce30b2ace5cdbadb264db2a34 Mon Sep 17 00:00:00 2001 From: Glenn Rice Date: Sun, 30 Jan 2011 17:04:12 +0000 Subject: [PATCH] Remove the PIC linker flag for DSP on linux. Fix some debugger issues. Still need to get sound window working, but the invalid id panic alert is fixed. Also, a ";" as a comment in an ini file is now only allowed at the beginning of a line. The debugger has settings strings with semicolons in them. That completely broke the debugger. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6989 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/AudioCommon/CMakeLists.txt | 3 --- Source/Core/Common/Src/IniFile.cpp | 5 ++--- Source/Core/DebuggerUICommon/CMakeLists.txt | 3 --- .../Core/DebuggerWX/Src/CodeWindowFunctions.cpp | 17 +++++++++-------- Source/Core/DolphinWX/Src/FrameAui.cpp | 4 ++-- Source/Core/DolphinWX/Src/FrameTools.cpp | 7 ++----- 6 files changed, 15 insertions(+), 24 deletions(-) diff --git a/Source/Core/AudioCommon/CMakeLists.txt b/Source/Core/AudioCommon/CMakeLists.txt index 91d1f432a0..537cf92045 100644 --- a/Source/Core/AudioCommon/CMakeLists.txt +++ b/Source/Core/AudioCommon/CMakeLists.txt @@ -37,6 +37,3 @@ endif() add_library(audiocommon STATIC ${SRCS}) target_link_libraries(audiocommon ${LIBS}) -if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - add_definitions(-fPIC) -endif() diff --git a/Source/Core/Common/Src/IniFile.cpp b/Source/Core/Common/Src/IniFile.cpp index caccb9636f..c81c060f1d 100644 --- a/Source/Core/Common/Src/IniFile.cpp +++ b/Source/Core/Common/Src/IniFile.cpp @@ -36,12 +36,11 @@ static void ParseLine(const std::string& line, std::string* keyOut, std::string* int FirstCommentChar = -1; // Comments - if (FirstCommentChar < 0) - FirstCommentChar = - (int)line.find(";", FirstEquals > 0 ? FirstEquals : 0); if (FirstCommentChar < 0) FirstCommentChar = (int)line.find("#", FirstEquals > 0 ? FirstEquals : 0); + if (FirstCommentChar < 0 && line[0] == ';') + FirstCommentChar = 0; // Allow preservation of spacing before comment if (FirstCommentChar > 0) diff --git a/Source/Core/DebuggerUICommon/CMakeLists.txt b/Source/Core/DebuggerUICommon/CMakeLists.txt index df83233511..64c8828604 100644 --- a/Source/Core/DebuggerUICommon/CMakeLists.txt +++ b/Source/Core/DebuggerUICommon/CMakeLists.txt @@ -4,6 +4,3 @@ set(SRCS Src/CodeView.cpp add_library(debugger_ui_util STATIC ${SRCS}) target_link_libraries(debugger_ui_util ${wxWidgets_LIBRARIES}) -if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - add_definitions(-fPIC) -endif() diff --git a/Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp b/Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp index 80d326d753..ea4b7dd758 100644 --- a/Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp +++ b/Source/Core/DebuggerWX/Src/CodeWindowFunctions.cpp @@ -425,7 +425,7 @@ void CCodeWindow::OpenPages() if (bShowOnStart[IDM_JITWINDOW - IDM_LOGWINDOW]) ToggleJitWindow(true); if (bShowOnStart[IDM_SOUNDWINDOW - IDM_LOGWINDOW]) - ToggleDLLWindow(IDM_SOUNDWINDOW, true); + ToggleSoundWindow(true); if (bShowOnStart[IDM_VIDEOWINDOW - IDM_LOGWINDOW]) ToggleDLLWindow(IDM_VIDEOWINDOW, true); } @@ -515,22 +515,23 @@ void CCodeWindow::ToggleJitWindow(bool bShow) void CCodeWindow::ToggleSoundWindow(bool bShow) { + // TODO: Resurrect DSP debugger window. +#if 0 GetMenuBar()->FindItem(IDM_SOUNDWINDOW)->Check(bShow); if (bShow) { - /* TODO: Resurrect DSP debugger window. - if (!m_JitWindow) - m_JitWindow = new CJitWindow(Parent, IDM_SOUNDWINDOW); - Parent->DoAddPage(m_JitWindow, + if (!m_SoundWindow) + m_SoundWindow = new DSPDebuggerLLE(Parent, IDM_SOUNDWINDOW); + Parent->DoAddPage(m_SoundWindow, iNbAffiliation[IDM_SOUNDWINDOW - IDM_LOGWINDOW], Parent->bFloatWindow[IDM_SOUNDWINDOW - IDM_LOGWINDOW]); - */ } else // Close { - //Parent->DoRemovePage(m_JitWindow, false); - // m_JitWindow = NULL; + Parent->DoRemovePage(m_SoundWindow, false); + m_SoundWindow = NULL; } +#endif } // Notice: This windows docking will produce several wx debugging messages for plugin diff --git a/Source/Core/DolphinWX/Src/FrameAui.cpp b/Source/Core/DolphinWX/Src/FrameAui.cpp index 3d21e81202..9fa0b8ea17 100644 --- a/Source/Core/DolphinWX/Src/FrameAui.cpp +++ b/Source/Core/DolphinWX/Src/FrameAui.cpp @@ -216,7 +216,7 @@ void CFrame::ClosePages() g_pCodeWindow->ToggleBreakPointWindow(false); g_pCodeWindow->ToggleMemoryWindow(false); g_pCodeWindow->ToggleJitWindow(false); - g_pCodeWindow->ToggleDLLWindow(IDM_SOUNDWINDOW, false); + g_pCodeWindow->ToggleSoundWindow(false); g_pCodeWindow->ToggleDLLWindow(IDM_VIDEOWINDOW, false); } } @@ -257,7 +257,7 @@ void CFrame::OnNotebookPageClose(wxAuiNotebookEvent& event) if (Ctrl->GetPage(event.GetSelection())->GetId() == IDM_MEMORYWINDOW) g_pCodeWindow->ToggleMemoryWindow(false); if (Ctrl->GetPage(event.GetSelection())->GetId() == IDM_SOUNDWINDOW) - g_pCodeWindow->ToggleDLLWindow(IDM_SOUNDWINDOW, false); + g_pCodeWindow->ToggleSoundWindow(false); if (Ctrl->GetPage(event.GetSelection())->GetId() == IDM_VIDEOWINDOW) g_pCodeWindow->ToggleDLLWindow(IDM_VIDEOWINDOW, false); } diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp index 2e25f2277d..c8ef0a1a94 100644 --- a/Source/Core/DolphinWX/Src/FrameTools.cpp +++ b/Source/Core/DolphinWX/Src/FrameTools.cpp @@ -939,13 +939,10 @@ void CFrame::DoStop() if(Frame::IsPlayingInput() || Frame::IsRecordingInput()) Frame::EndPlayInput(); - // These windows cause segmentation faults if they are open when the emulator - // stops. It has something to do with the the wxAuiManager update. + // The video debugger window causes a segmentation fault if open when the + // emulator stops. It has something to do with the the wxAuiManager update. if (g_pCodeWindow) - { - g_pCodeWindow->ToggleDLLWindow(IDM_SOUNDWINDOW, false); g_pCodeWindow->ToggleDLLWindow(IDM_VIDEOWINDOW, false); - } BootManager::Stop();