diff --git a/src/citra_qt/debugger/disassembler.cpp b/src/citra_qt/debugger/disassembler.cpp index 54d21dc907..f620687aec 100644 --- a/src/citra_qt/debugger/disassembler.cpp +++ b/src/citra_qt/debugger/disassembler.cpp @@ -232,11 +232,8 @@ void DisassemblerWidget::OnDebugModeEntered() { ARMword next_instr = Core::g_app_core->GetPC(); - // TODO: Make BreakPoints less crappy (i.e. const-correct) so that this doesn't need a const_cast. - if (const_cast(model->GetBreakPoints()).IsAddressBreakPoint(next_instr)) - { + if (model->GetBreakPoints().IsAddressBreakPoint(next_instr)) emu_thread.SetCpuRunning(false); - } model->SetNextInstruction(next_instr); diff --git a/src/common/break_points.cpp b/src/common/break_points.cpp index 2655d3ce96..15055bd4ed 100644 --- a/src/common/break_points.cpp +++ b/src/common/break_points.cpp @@ -10,14 +10,14 @@ #include #include -bool BreakPoints::IsAddressBreakPoint(u32 iAddress) +bool BreakPoints::IsAddressBreakPoint(u32 iAddress) const { auto cond = [&iAddress](const TBreakPoint& bp) { return bp.iAddress == iAddress; }; auto it = std::find_if(m_BreakPoints.begin(), m_BreakPoints.end(), cond); return it != m_BreakPoints.end(); } -bool BreakPoints::IsTempBreakPoint(u32 iAddress) +bool BreakPoints::IsTempBreakPoint(u32 iAddress) const { auto cond = [&iAddress](const TBreakPoint& bp) { return bp.iAddress == iAddress && bp.bTemporary; }; 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 5557cd50ed..4b26cf90da 100644 --- a/src/common/break_points.h +++ b/src/common/break_points.h @@ -56,8 +56,8 @@ public: void AddFromStrings(const TBreakPointsStr& bps); // is address breakpoint - bool IsAddressBreakPoint(u32 iAddress); - bool IsTempBreakPoint(u32 iAddress); + bool IsAddressBreakPoint(u32 iAddress) const; + bool IsTempBreakPoint(u32 iAddress) const; // Add BreakPoint void Add(u32 em_address, bool temp=false);