Merge pull request #4115 from aldelaro5/memorycheck-memorywindow-update-fix

Fix the breakpoint list not updating after adding a memory check via the memory view
This commit is contained in:
Mat M 2016-09-09 02:41:06 -04:00 committed by GitHub
commit 1eacb8fd59
3 changed files with 17 additions and 7 deletions

View File

@ -604,7 +604,7 @@ void CCodeWindow::ToggleMemoryWindow(bool bShow)
if (bShow) if (bShow)
{ {
if (!m_MemoryWindow) 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->DoAddPage(m_MemoryWindow, iNbAffiliation[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW],
Parent->bFloatWindow[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW]); Parent->bFloatWindow[IDM_MEMORY_WINDOW - IDM_LOG_WINDOW]);
} }

View File

@ -26,6 +26,8 @@
#include "Core/HW/DSP.h" #include "Core/HW/DSP.h"
#include "Core/HW/Memmap.h" #include "Core/HW/Memmap.h"
#include "Core/PowerPC/PowerPC.h" #include "Core/PowerPC/PowerPC.h"
#include "DolphinWX/Debugger/BreakpointWindow.h"
#include "DolphinWX/Debugger/CodeWindow.h"
#include "DolphinWX/Debugger/MemoryView.h" #include "DolphinWX/Debugger/MemoryView.h"
#include "DolphinWX/Debugger/MemoryWindow.h" #include "DolphinWX/Debugger/MemoryWindow.h"
#include "DolphinWX/Globals.h" #include "DolphinWX/Globals.h"
@ -63,9 +65,10 @@ EVT_CHECKBOX(IDM_ASCII, CMemoryWindow::onAscii)
EVT_CHECKBOX(IDM_HEX, CMemoryWindow::onHex) EVT_CHECKBOX(IDM_HEX, CMemoryWindow::onHex)
END_EVENT_TABLE() END_EVENT_TABLE()
CMemoryWindow::CMemoryWindow(wxWindow* parent, wxWindowID id, const wxPoint& pos, CMemoryWindow::CMemoryWindow(CCodeWindow* code_window, wxWindow* parent, wxWindowID id,
const wxSize& size, long style, const wxString& name) const wxPoint& pos, const wxSize& size, long style,
: wxPanel(parent, id, pos, size, style, name) const wxString& name)
: wxPanel(parent, id, pos, size, style, name), m_code_window(code_window)
{ {
DebugInterface* di = &PowerPC::debug_interface; DebugInterface* di = &PowerPC::debug_interface;
@ -243,6 +246,10 @@ void CMemoryWindow::OnHostMessage(wxCommandEvent& event)
case IDM_NOTIFY_MAP_LOADED: case IDM_NOTIFY_MAP_LOADED:
NotifyMapLoaded(); NotifyMapLoaded();
break; break;
case IDM_UPDATE_BREAKPOINTS:
if (m_code_window->m_BreakpointWindow)
m_code_window->m_BreakpointWindow->NotifyUpdate();
break;
} }
} }

View File

@ -8,6 +8,7 @@
#include "Common/CommonTypes.h" #include "Common/CommonTypes.h"
class CMemoryView; class CMemoryView;
class CCodeWindow;
class IniFile; class IniFile;
class wxButton; class wxButton;
class wxCheckBox; class wxCheckBox;
@ -18,9 +19,9 @@ class wxTextCtrl;
class CMemoryWindow : public wxPanel class CMemoryWindow : public wxPanel
{ {
public: public:
CMemoryWindow(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, CMemoryWindow(CCodeWindow* code_window, wxWindow* parent, wxWindowID id = wxID_ANY,
const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL | wxBORDER_NONE, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
const wxString& name = _("Memory")); long style = wxTAB_TRAVERSAL | wxBORDER_NONE, const wxString& name = _("Memory"));
void Save(IniFile& _IniFile) const; void Save(IniFile& _IniFile) const;
void Load(IniFile& _IniFile); void Load(IniFile& _IniFile);
@ -55,6 +56,8 @@ private:
wxCheckBox* chkAscii; wxCheckBox* chkAscii;
wxCheckBox* chkHex; wxCheckBox* chkHex;
CCodeWindow* m_code_window;
CMemoryView* memview; CMemoryView* memview;
wxListBox* symbols; wxListBox* symbols;