Skip to content

Commit

Permalink
Debugger: Make sure the colours of functions are consistent across runs
Browse files Browse the repository at this point in the history
  • Loading branch information
chaoticgd authored and F0bes committed Nov 28, 2024
1 parent 2501d87 commit 4ad1355
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions pcsx2-qt/Debugger/DisassemblyWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -780,11 +780,16 @@ QColor DisassemblyWidget::GetAddressFunctionColor(u32 address)
};
}

ccc::FunctionHandle handle = m_cpu->GetSymbolGuardian().FunctionOverlappingAddress(address).handle;
if (!handle.valid())
// Use the address to pick the colour since the value of the handle may
// change from run to run.
ccc::Address function_address =
m_cpu->GetSymbolGuardian().FunctionOverlappingAddress(address).address;
if (!function_address.valid())
return palette().text().color();

return colors[handle.value % colors.size()];
// Chop off the first few bits of the address since functions will be
// aligned in memory.
return colors[(function_address.value >> 4) % colors.size()];
}

QString DisassemblyWidget::FetchSelectionInfo(SelectionInfo selInfo)
Expand Down

0 comments on commit 4ad1355

Please sign in to comment.