mirror of
https://github.com/yuzu-mirror/yuzu
synced 2024-12-24 23:13:04 +00:00
yuzu/debugger/wait_tree: Specify string conversions explicitly
Allows compiling the wait tree widget with implicit string conversions disabled.
This commit is contained in:
parent
fb85d5670d
commit
a059b9eed4
1 changed files with 17 additions and 14 deletions
|
@ -91,19 +91,19 @@ WaitTreeMutexInfo::WaitTreeMutexInfo(VAddr mutex_address, const Kernel::HandleTa
|
||||||
WaitTreeMutexInfo::~WaitTreeMutexInfo() = default;
|
WaitTreeMutexInfo::~WaitTreeMutexInfo() = default;
|
||||||
|
|
||||||
QString WaitTreeMutexInfo::GetText() const {
|
QString WaitTreeMutexInfo::GetText() const {
|
||||||
return tr("waiting for mutex 0x%1").arg(mutex_address, 16, 16, QLatin1Char('0'));
|
return tr("waiting for mutex 0x%1").arg(mutex_address, 16, 16, QLatin1Char{'0'});
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::unique_ptr<WaitTreeItem>> WaitTreeMutexInfo::GetChildren() const {
|
std::vector<std::unique_ptr<WaitTreeItem>> WaitTreeMutexInfo::GetChildren() const {
|
||||||
|
const bool has_waiters = (mutex_value & Kernel::Mutex::MutexHasWaitersFlag) != 0;
|
||||||
|
|
||||||
std::vector<std::unique_ptr<WaitTreeItem>> list;
|
std::vector<std::unique_ptr<WaitTreeItem>> list;
|
||||||
|
|
||||||
bool has_waiters = (mutex_value & Kernel::Mutex::MutexHasWaitersFlag) != 0;
|
|
||||||
|
|
||||||
list.push_back(std::make_unique<WaitTreeText>(tr("has waiters: %1").arg(has_waiters)));
|
list.push_back(std::make_unique<WaitTreeText>(tr("has waiters: %1").arg(has_waiters)));
|
||||||
list.push_back(std::make_unique<WaitTreeText>(
|
list.push_back(std::make_unique<WaitTreeText>(
|
||||||
tr("owner handle: 0x%1").arg(owner_handle, 8, 16, QLatin1Char('0'))));
|
tr("owner handle: 0x%1").arg(owner_handle, 8, 16, QLatin1Char{'0'})));
|
||||||
if (owner != nullptr)
|
if (owner != nullptr) {
|
||||||
list.push_back(std::make_unique<WaitTreeThread>(*owner));
|
list.push_back(std::make_unique<WaitTreeThread>(*owner));
|
||||||
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,11 +121,14 @@ std::vector<std::unique_ptr<WaitTreeItem>> WaitTreeCallstack::GetChildren() cons
|
||||||
u64 base_pointer = thread.GetContext().cpu_registers[BaseRegister];
|
u64 base_pointer = thread.GetContext().cpu_registers[BaseRegister];
|
||||||
|
|
||||||
while (base_pointer != 0) {
|
while (base_pointer != 0) {
|
||||||
u64 lr = Memory::Read64(base_pointer + sizeof(u64));
|
const u64 lr = Memory::Read64(base_pointer + sizeof(u64));
|
||||||
if (lr == 0)
|
if (lr == 0) {
|
||||||
break;
|
break;
|
||||||
list.push_back(
|
}
|
||||||
std::make_unique<WaitTreeText>(tr("0x%1").arg(lr - sizeof(u32), 16, 16, QChar('0'))));
|
|
||||||
|
list.push_back(std::make_unique<WaitTreeText>(
|
||||||
|
tr("0x%1").arg(lr - sizeof(u32), 16, 16, QLatin1Char{'0'})));
|
||||||
|
|
||||||
base_pointer = Memory::Read64(base_pointer);
|
base_pointer = Memory::Read64(base_pointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,9 +252,9 @@ QString WaitTreeThread::GetText() const {
|
||||||
|
|
||||||
const auto& context = thread.GetContext();
|
const auto& context = thread.GetContext();
|
||||||
const QString pc_info = tr(" PC = 0x%1 LR = 0x%2")
|
const QString pc_info = tr(" PC = 0x%1 LR = 0x%2")
|
||||||
.arg(context.pc, 8, 16, QLatin1Char('0'))
|
.arg(context.pc, 8, 16, QLatin1Char{'0'})
|
||||||
.arg(context.cpu_registers[30], 8, 16, QLatin1Char('0'));
|
.arg(context.cpu_registers[30], 8, 16, QLatin1Char{'0'});
|
||||||
return WaitTreeWaitObject::GetText() + pc_info + " (" + status + ") ";
|
return QStringLiteral("%1%2 (%3) ").arg(WaitTreeWaitObject::GetText(), pc_info, status);
|
||||||
}
|
}
|
||||||
|
|
||||||
QColor WaitTreeThread::GetColor() const {
|
QColor WaitTreeThread::GetColor() const {
|
||||||
|
@ -424,7 +427,7 @@ void WaitTreeModel::InitItems() {
|
||||||
}
|
}
|
||||||
|
|
||||||
WaitTreeWidget::WaitTreeWidget(QWidget* parent) : QDockWidget(tr("Wait Tree"), parent) {
|
WaitTreeWidget::WaitTreeWidget(QWidget* parent) : QDockWidget(tr("Wait Tree"), parent) {
|
||||||
setObjectName("WaitTreeWidget");
|
setObjectName(QStringLiteral("WaitTreeWidget"));
|
||||||
view = new QTreeView(this);
|
view = new QTreeView(this);
|
||||||
view->setHeaderHidden(true);
|
view->setHeaderHidden(true);
|
||||||
setWidget(view);
|
setWidget(view);
|
||||||
|
|
Loading…
Reference in a new issue