From d7a3ce26def900a8e7c4945f202bea472668c757 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 13 May 2018 18:24:30 -0400 Subject: [PATCH] CodeViewWidget: Get rid of magic values in OnInsertBLR() and OnInsertNOP() A call like ReplaceAddress(address, 0) is pretty ambiguous; so is ReplaceAddress(address, false), so use an enum class that tells people straight-up what the replacer is. This also gets rid of the really weird naming, where if 'blr' is true, we'd be replacing the address with a NOP, rather than an actual BLR instruction, so we invert that so it actually makes sense. There's no actual bug fixed here though, considering the OnInsert functions specified the correct values; it's literally just weird naming. --- Source/Core/DolphinQt2/Debugger/CodeViewWidget.cpp | 10 +++++----- Source/Core/DolphinQt2/Debugger/CodeViewWidget.h | 8 +++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Source/Core/DolphinQt2/Debugger/CodeViewWidget.cpp b/Source/Core/DolphinQt2/Debugger/CodeViewWidget.cpp index 198202b424cb..7ecffdd9d757 100644 --- a/Source/Core/DolphinQt2/Debugger/CodeViewWidget.cpp +++ b/Source/Core/DolphinQt2/Debugger/CodeViewWidget.cpp @@ -195,14 +195,14 @@ void CodeViewWidget::SetAddress(u32 address, SetAddressUpdate update) Update(); } -void CodeViewWidget::ReplaceAddress(u32 address, bool blr) +void CodeViewWidget::ReplaceAddress(u32 address, ReplaceWith replace) { auto found = std::find_if(m_repl_list.begin(), m_repl_list.end(), [address](ReplStruct r) { return r.address == address; }); if (found != m_repl_list.end()) { - PowerPC::debug_interface.WriteExtraMemory(0, (*found).old_value, address); + PowerPC::debug_interface.WriteExtraMemory(0, found->old_value, address); m_repl_list.erase(found); } else @@ -214,7 +214,7 @@ void CodeViewWidget::ReplaceAddress(u32 address, bool blr) m_repl_list.push_back(repl); - PowerPC::debug_interface.Patch(address, blr ? 0x60000000 : 0x4e800020); + PowerPC::debug_interface.Patch(address, replace == ReplaceWith::BLR ? 0x4e800020 : 0x60000000); } Update(); @@ -347,14 +347,14 @@ void CodeViewWidget::OnInsertBLR() { const u32 addr = GetContextAddress(); - ReplaceAddress(addr, 0); + ReplaceAddress(addr, ReplaceWith::BLR); } void CodeViewWidget::OnInsertNOP() { const u32 addr = GetContextAddress(); - ReplaceAddress(addr, 1); + ReplaceAddress(addr, ReplaceWith::NOP); } void CodeViewWidget::OnFollowBranch() diff --git a/Source/Core/DolphinQt2/Debugger/CodeViewWidget.h b/Source/Core/DolphinQt2/Debugger/CodeViewWidget.h index a6e038b4473d..c879b70d4bad 100644 --- a/Source/Core/DolphinQt2/Debugger/CodeViewWidget.h +++ b/Source/Core/DolphinQt2/Debugger/CodeViewWidget.h @@ -40,7 +40,13 @@ class CodeViewWidget : public QTableWidget void BreakpointsChanged(); private: - void ReplaceAddress(u32 address, bool blr); + enum class ReplaceWith + { + BLR, + NOP + }; + + void ReplaceAddress(u32 address, ReplaceWith replace); void resizeEvent(QResizeEvent*) override; void keyPressEvent(QKeyEvent* event) override;