summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
diff options
context:
space:
mode:
authormitaclaw <140017135+mitaclaw@users.noreply.github.com>2024-03-01 06:52:03 -0800
committermitaclaw <140017135+mitaclaw@users.noreply.github.com>2024-03-01 07:09:20 -0800
commit26141eece81642d3c9c226cded768da6ddb9069c (patch)
tree630137b7e60f3c8d3d95664c342a10d25a118781 /Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
parent5a81916ee9b4197c421937e8d8096cbd22c2820d (diff)
Memory(View)Widget: Avoid Global System Accessor
Diffstat (limited to 'Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp24
1 files changed, 8 insertions, 16 deletions
diff --git a/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp b/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
index d9ff1daac8..990b317b65 100644
--- a/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
@@ -154,7 +154,7 @@ public:
u32 end_address = address + static_cast<u32>(bytes.size()) - 1;
AddressSpace::Accessors* accessors = AddressSpace::GetAccessors(m_view->GetAddressSpace());
- Core::CPUThreadGuard guard(Core::System::GetInstance());
+ const Core::CPUThreadGuard guard(m_view->m_system);
if (!bytes.empty() && accessors->IsValidAddress(guard, address) &&
accessors->IsValidAddress(guard, end_address))
@@ -170,8 +170,8 @@ private:
MemoryViewWidget* m_view;
};
-MemoryViewWidget::MemoryViewWidget(QWidget* parent)
- : QWidget(parent), m_system(Core::System::GetInstance())
+MemoryViewWidget::MemoryViewWidget(Core::System& system, QWidget* parent)
+ : QWidget(parent), m_system(system)
{
auto* layout = new QHBoxLayout();
layout->setContentsMargins(0, 0, 0, 0);
@@ -443,7 +443,7 @@ void MemoryViewWidget::UpdateColumns()
if (Core::GetState() == Core::State::Paused)
{
- Core::CPUThreadGuard guard(Core::System::GetInstance());
+ const Core::CPUThreadGuard guard(m_system);
UpdateColumns(&guard);
}
else
@@ -850,12 +850,8 @@ void MemoryViewWidget::OnCopyHex(u32 addr)
{
const auto length = GetTypeSize(m_type);
- const AddressSpace::Accessors* accessors = AddressSpace::GetAccessors(m_address_space);
-
- const u64 value = [addr, accessors] {
- Core::CPUThreadGuard guard(Core::System::GetInstance());
- return accessors->ReadU64(guard, addr);
- }();
+ const u64 value =
+ AddressSpace::GetAccessors(m_address_space)->ReadU64(Core::CPUThreadGuard{m_system}, addr);
QApplication::clipboard()->setText(
QStringLiteral("%1").arg(value, sizeof(u64) * 2, 16, QLatin1Char('0')).left(length * 2));
@@ -873,12 +869,8 @@ void MemoryViewWidget::OnContextMenu(const QPoint& pos)
const u32 addr = item_selected->data(USER_ROLE_CELL_ADDRESS).toUInt();
const bool item_has_value =
item_selected->data(USER_ROLE_VALUE_TYPE).toInt() != static_cast<int>(Type::Null) &&
- [this, addr] {
- const AddressSpace::Accessors* accessors = AddressSpace::GetAccessors(m_address_space);
-
- Core::CPUThreadGuard guard(Core::System::GetInstance());
- return accessors->IsValidAddress(guard, addr);
- }();
+ AddressSpace::GetAccessors(m_address_space)
+ ->IsValidAddress(Core::CPUThreadGuard{m_system}, addr);
auto* menu = new QMenu(this);