summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/citra_qt/debugger/callstack.cpp3
-rw-r--r--src/citra_qt/debugger/disassembler.cpp5
-rw-r--r--src/common/break_points.cpp4
-rw-r--r--src/common/break_points.h4
4 files changed, 6 insertions, 10 deletions
diff --git a/src/citra_qt/debugger/callstack.cpp b/src/citra_qt/debugger/callstack.cpp
index 9bb22ca2e..3742c2d38 100644
--- a/src/citra_qt/debugger/callstack.cpp
+++ b/src/citra_qt/debugger/callstack.cpp
@@ -27,7 +27,6 @@ CallstackWidget::CallstackWidget(QWidget* parent): QDockWidget(parent)
27 27
28void CallstackWidget::OnDebugModeEntered() 28void CallstackWidget::OnDebugModeEntered()
29{ 29{
30 ARM_Disasm* disasm = new ARM_Disasm();
31 ARM_Interface* app_core = Core::g_app_core; 30 ARM_Interface* app_core = Core::g_app_core;
32 31
33 u32 sp = app_core->GetReg(13); //stack pointer 32 u32 sp = app_core->GetReg(13); //stack pointer
@@ -46,7 +45,7 @@ void CallstackWidget::OnDebugModeEntered()
46 45
47 /* TODO (mattvail) clean me, move to debugger interface */ 46 /* TODO (mattvail) clean me, move to debugger interface */
48 u32 insn = Memory::Read32(call_addr); 47 u32 insn = Memory::Read32(call_addr);
49 if (disasm->Decode(insn) == OP_BL) 48 if (ARM_Disasm::Decode(insn) == OP_BL)
50 { 49 {
51 std::string name; 50 std::string name;
52 // ripped from disasm 51 // ripped from disasm
diff --git a/src/citra_qt/debugger/disassembler.cpp b/src/citra_qt/debugger/disassembler.cpp
index 54d21dc90..f620687ae 100644
--- a/src/citra_qt/debugger/disassembler.cpp
+++ b/src/citra_qt/debugger/disassembler.cpp
@@ -232,11 +232,8 @@ void DisassemblerWidget::OnDebugModeEntered()
232{ 232{
233 ARMword next_instr = Core::g_app_core->GetPC(); 233 ARMword next_instr = Core::g_app_core->GetPC();
234 234
235 // TODO: Make BreakPoints less crappy (i.e. const-correct) so that this doesn't need a const_cast. 235 if (model->GetBreakPoints().IsAddressBreakPoint(next_instr))
236 if (const_cast<BreakPoints&>(model->GetBreakPoints()).IsAddressBreakPoint(next_instr))
237 {
238 emu_thread.SetCpuRunning(false); 236 emu_thread.SetCpuRunning(false);
239 }
240 237
241 model->SetNextInstruction(next_instr); 238 model->SetNextInstruction(next_instr);
242 239
diff --git a/src/common/break_points.cpp b/src/common/break_points.cpp
index 2655d3ce9..15055bd4e 100644
--- a/src/common/break_points.cpp
+++ b/src/common/break_points.cpp
@@ -10,14 +10,14 @@
10#include <sstream> 10#include <sstream>
11#include <algorithm> 11#include <algorithm>
12 12
13bool BreakPoints::IsAddressBreakPoint(u32 iAddress) 13bool BreakPoints::IsAddressBreakPoint(u32 iAddress) const
14{ 14{
15 auto cond = [&iAddress](const TBreakPoint& bp) { return bp.iAddress == iAddress; }; 15 auto cond = [&iAddress](const TBreakPoint& bp) { return bp.iAddress == iAddress; };
16 auto it = std::find_if(m_BreakPoints.begin(), m_BreakPoints.end(), cond); 16 auto it = std::find_if(m_BreakPoints.begin(), m_BreakPoints.end(), cond);
17 return it != m_BreakPoints.end(); 17 return it != m_BreakPoints.end();
18} 18}
19 19
20bool BreakPoints::IsTempBreakPoint(u32 iAddress) 20bool BreakPoints::IsTempBreakPoint(u32 iAddress) const
21{ 21{
22 auto cond = [&iAddress](const TBreakPoint& bp) { return bp.iAddress == iAddress && bp.bTemporary; }; 22 auto cond = [&iAddress](const TBreakPoint& bp) { return bp.iAddress == iAddress && bp.bTemporary; };
23 auto it = std::find_if(m_BreakPoints.begin(), m_BreakPoints.end(), cond); 23 auto it = std::find_if(m_BreakPoints.begin(), m_BreakPoints.end(), cond);
diff --git a/src/common/break_points.h b/src/common/break_points.h
index 5557cd50e..4b26cf90d 100644
--- a/src/common/break_points.h
+++ b/src/common/break_points.h
@@ -56,8 +56,8 @@ public:
56 void AddFromStrings(const TBreakPointsStr& bps); 56 void AddFromStrings(const TBreakPointsStr& bps);
57 57
58 // is address breakpoint 58 // is address breakpoint
59 bool IsAddressBreakPoint(u32 iAddress); 59 bool IsAddressBreakPoint(u32 iAddress) const;
60 bool IsTempBreakPoint(u32 iAddress); 60 bool IsTempBreakPoint(u32 iAddress) const;
61 61
62 // Add BreakPoint 62 // Add BreakPoint
63 void Add(u32 em_address, bool temp=false); 63 void Add(u32 em_address, bool temp=false);