diff --git a/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp b/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp index eac9933294..8a46245f37 100644 --- a/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp +++ b/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp @@ -604,7 +604,7 @@ void CCodeWindow::ToggleMemoryWindow(bool bShow) if (bShow) { if (!m_MemoryWindow) - m_MemoryWindow = new CMemoryWindow(Parent, IDM_MEMORY_WINDOW); + m_MemoryWindow = new CMemoryWindow(this, Parent, IDM_MEMORY_WINDOW); Parent->DoAddPage(m_MemoryWindow, iNbAffiliation[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW], Parent->bFloatWindow[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW]); } diff --git a/Source/Core/DolphinWX/Debugger/MemoryWindow.cpp b/Source/Core/DolphinWX/Debugger/MemoryWindow.cpp index 24188a65ea..bfd5829ef0 100644 --- a/Source/Core/DolphinWX/Debugger/MemoryWindow.cpp +++ b/Source/Core/DolphinWX/Debugger/MemoryWindow.cpp @@ -26,6 +26,8 @@ #include "Core/HW/DSP.h" #include "Core/HW/Memmap.h" #include "Core/PowerPC/PowerPC.h" +#include "DolphinWX/Debugger/BreakpointWindow.h" +#include "DolphinWX/Debugger/CodeWindow.h" #include "DolphinWX/Debugger/MemoryView.h" #include "DolphinWX/Debugger/MemoryWindow.h" #include "DolphinWX/Globals.h" @@ -63,9 +65,10 @@ EVT_CHECKBOX(IDM_ASCII, CMemoryWindow::onAscii) EVT_CHECKBOX(IDM_HEX, CMemoryWindow::onHex) END_EVENT_TABLE() -CMemoryWindow::CMemoryWindow(wxWindow* parent, wxWindowID id, const wxPoint& pos, - const wxSize& size, long style, const wxString& name) - : wxPanel(parent, id, pos, size, style, name) +CMemoryWindow::CMemoryWindow(CCodeWindow* code_window, wxWindow* parent, wxWindowID id, + const wxPoint& pos, const wxSize& size, long style, + const wxString& name) + : wxPanel(parent, id, pos, size, style, name), m_code_window(code_window) { DebugInterface* di = &PowerPC::debug_interface; @@ -243,6 +246,10 @@ void CMemoryWindow::OnHostMessage(wxCommandEvent& event) case IDM_NOTIFY_MAP_LOADED: NotifyMapLoaded(); break; + case IDM_UPDATE_BREAKPOINTS: + if (m_code_window->m_BreakpointWindow) + m_code_window->m_BreakpointWindow->NotifyUpdate(); + break; } } diff --git a/Source/Core/DolphinWX/Debugger/MemoryWindow.h b/Source/Core/DolphinWX/Debugger/MemoryWindow.h index c2f94677ca..3eca29e613 100644 --- a/Source/Core/DolphinWX/Debugger/MemoryWindow.h +++ b/Source/Core/DolphinWX/Debugger/MemoryWindow.h @@ -8,6 +8,7 @@ #include "Common/CommonTypes.h" class CMemoryView; +class CCodeWindow; class IniFile; class wxButton; class wxCheckBox; @@ -18,9 +19,9 @@ class wxTextCtrl; class CMemoryWindow : public wxPanel { public: - CMemoryWindow(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL | wxBORDER_NONE, - const wxString& name = _("Memory")); + CMemoryWindow(CCodeWindow* code_window, wxWindow* parent, wxWindowID id = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, + long style = wxTAB_TRAVERSAL | wxBORDER_NONE, const wxString& name = _("Memory")); void Save(IniFile& _IniFile) const; void Load(IniFile& _IniFile); @@ -55,6 +56,8 @@ private: wxCheckBox* chkAscii; wxCheckBox* chkHex; + CCodeWindow* m_code_window; + CMemoryView* memview; wxListBox* symbols;