From 196cc8291342770a0af7671668460f5d33cff3c0 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 5 Mar 2019 21:52:19 -0500 Subject: yuzu/debugger/wait_tree: Remove use of global CurrentProcess accessor We already have the thread instance that was created under the current process, so we can just pass the handle table of it along to retrieve the owner of the mutex. --- src/yuzu/debugger/wait_tree.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/yuzu/debugger/wait_tree.cpp') diff --git a/src/yuzu/debugger/wait_tree.cpp b/src/yuzu/debugger/wait_tree.cpp index f50225d5f..06ad74ffe 100644 --- a/src/yuzu/debugger/wait_tree.cpp +++ b/src/yuzu/debugger/wait_tree.cpp @@ -81,9 +81,8 @@ QString WaitTreeText::GetText() const { return text; } -WaitTreeMutexInfo::WaitTreeMutexInfo(VAddr mutex_address) : mutex_address(mutex_address) { - const auto& handle_table = Core::CurrentProcess()->GetHandleTable(); - +WaitTreeMutexInfo::WaitTreeMutexInfo(VAddr mutex_address, const Kernel::HandleTable& handle_table) + : mutex_address(mutex_address) { mutex_value = Memory::Read32(mutex_address); owner_handle = static_cast(mutex_value & Kernel::Mutex::MutexOwnerMask); owner = handle_table.Get(owner_handle); @@ -316,7 +315,8 @@ std::vector> WaitTreeThread::GetChildren() const { const VAddr mutex_wait_address = thread.GetMutexWaitAddress(); if (mutex_wait_address != 0) { - list.push_back(std::make_unique(mutex_wait_address)); + const auto& handle_table = thread.GetOwnerProcess()->GetHandleTable(); + list.push_back(std::make_unique(mutex_wait_address, handle_table)); } else { list.push_back(std::make_unique(tr("not waiting for mutex"))); } -- cgit v1.2.3