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 committed Nov 25, 2024
1 parent b049664 commit 56b5fc5
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 56b5fc5

Please sign in to comment.