diff --git a/Source/Core/Common/DebugInterface.h b/Source/Core/Common/DebugInterface.h index 0bd9c29beb..26e0a3e2ee 100644 --- a/Source/Core/Common/DebugInterface.h +++ b/Source/Core/Common/DebugInterface.h @@ -18,6 +18,7 @@ public: virtual void ClearBreakpoint(unsigned int /*address*/){} virtual void ClearAllBreakpoints() {} virtual void ToggleBreakpoint(unsigned int /*address*/){} + virtual void ClearAllMemChecks() {} virtual bool IsMemCheck(unsigned int /*address*/) {return false;} virtual void ToggleMemCheck(unsigned int /*address*/){} virtual unsigned int ReadMemory(unsigned int /*address*/){return 0;} diff --git a/Source/Core/Core/Debugger/PPCDebugInterface.cpp b/Source/Core/Core/Debugger/PPCDebugInterface.cpp index 131ff307bf..0d34a56f0a 100644 --- a/Source/Core/Core/Debugger/PPCDebugInterface.cpp +++ b/Source/Core/Core/Debugger/PPCDebugInterface.cpp @@ -121,6 +121,11 @@ void PPCDebugInterface::ToggleBreakpoint(unsigned int address) PowerPC::breakpoints.Add(address); } +void PPCDebugInterface::ClearAllMemChecks() +{ + PowerPC::memchecks.Clear(); +} + bool PPCDebugInterface::IsMemCheck(unsigned int address) { return (Memory::AreMemoryBreakpointsActivated() diff --git a/Source/Core/Core/Debugger/PPCDebugInterface.h b/Source/Core/Core/Debugger/PPCDebugInterface.h index bd4cd42bf5..fbd01e06af 100644 --- a/Source/Core/Core/Debugger/PPCDebugInterface.h +++ b/Source/Core/Core/Debugger/PPCDebugInterface.h @@ -23,6 +23,7 @@ public: virtual void ClearBreakpoint(unsigned int address) override; virtual void ClearAllBreakpoints() override; virtual void ToggleBreakpoint(unsigned int address) override; + virtual void ClearAllMemChecks() override; virtual bool IsMemCheck(unsigned int address) override; virtual void ToggleMemCheck(unsigned int address) override; virtual unsigned int ReadMemory(unsigned int address) override; diff --git a/Source/Core/Core/HW/DSPLLE/DSPDebugInterface.cpp b/Source/Core/Core/HW/DSPLLE/DSPDebugInterface.cpp index e9aba0fd15..863daf7a05 100644 --- a/Source/Core/Core/HW/DSPLLE/DSPDebugInterface.cpp +++ b/Source/Core/Core/HW/DSPLLE/DSPDebugInterface.cpp @@ -127,6 +127,11 @@ bool DSPDebugInterface::IsMemCheck(unsigned int address) return false; } +void DSPDebugInterface::ClearAllMemChecks() +{ + PanicAlert("MemCheck functionality not supported in DSP module."); +} + void DSPDebugInterface::ToggleMemCheck(unsigned int address) { PanicAlert("MemCheck functionality not supported in DSP module."); diff --git a/Source/Core/Core/HW/DSPLLE/DSPDebugInterface.h b/Source/Core/Core/HW/DSPLLE/DSPDebugInterface.h index c406120c3f..7e3a6efabc 100644 --- a/Source/Core/Core/HW/DSPLLE/DSPDebugInterface.h +++ b/Source/Core/Core/HW/DSPLLE/DSPDebugInterface.h @@ -23,6 +23,7 @@ public: virtual void ClearBreakpoint(unsigned int address); virtual void ClearAllBreakpoints(); virtual void ToggleBreakpoint(unsigned int address); + virtual void ClearAllMemChecks(); virtual bool IsMemCheck(unsigned int address); virtual void ToggleMemCheck(unsigned int address); virtual unsigned int ReadMemory(unsigned int address); diff --git a/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp b/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp index b16f150d74..b650ac2655 100644 --- a/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp +++ b/Source/Core/DolphinWX/Debugger/BreakpointWindow.cpp @@ -153,8 +153,9 @@ void CBreakPointWindow::OnSelectBP(wxListEvent& event) // Clear all breakpoints and memchecks void CBreakPointWindow::OnClear(wxCommandEvent& WXUNUSED(event)) { - PowerPC::breakpoints.Clear(); - PowerPC::memchecks.Clear(); + PowerPC::debug_interface.ClearAllBreakpoints(); + PowerPC::debug_interface.ClearAllMemChecks(); + NotifyUpdate(); }