debugger_frame: don't query cpu thread if emulation is stopped anyway

This commit is contained in:
Megamouse 2023-06-05 23:44:14 +02:00
parent ad22cf5051
commit fcd6be71b0

View File

@ -984,12 +984,15 @@ void debugger_frame::UpdateUnitList()
void debugger_frame::OnSelectUnit() void debugger_frame::OnSelectUnit()
{ {
const QVariant data = m_choice_units->currentData(); cpu_thread* selected = nullptr;
cpu_thread* selected = data.canConvert<data_type>() ? data.value<data_type>()() : nullptr;
if (m_emu_state != system_state::stopped) if (m_emu_state != system_state::stopped)
{ {
if (const QVariant data = m_choice_units->currentData(); data.canConvert<data_type>())
{
selected = data.value<data_type>()();
}
if (selected && m_cpu.get() == selected) if (selected && m_cpu.get() == selected)
{ {
// They match, nothing to do. // They match, nothing to do.
@ -1006,10 +1009,6 @@ void debugger_frame::OnSelectUnit()
return; return;
} }
} }
else
{
selected = nullptr;
}
m_disasm.reset(); m_disasm.reset();
m_cpu.reset(); m_cpu.reset();