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 (!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]);
}

View File

@ -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;
}
}

View File

@ -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;