diff --git a/rpcs3/rpcs3qt/debugger_frame.cpp b/rpcs3/rpcs3qt/debugger_frame.cpp index 6f4ab4bae6..8e9923cdcf 100644 --- a/rpcs3/rpcs3qt/debugger_frame.cpp +++ b/rpcs3/rpcs3qt/debugger_frame.cpp @@ -984,12 +984,15 @@ void debugger_frame::UpdateUnitList() void debugger_frame::OnSelectUnit() { - const QVariant data = m_choice_units->currentData(); - - cpu_thread* selected = data.canConvert() ? data.value()() : nullptr; + cpu_thread* selected = nullptr; if (m_emu_state != system_state::stopped) { + if (const QVariant data = m_choice_units->currentData(); data.canConvert()) + { + selected = data.value()(); + } + if (selected && m_cpu.get() == selected) { // They match, nothing to do. @@ -1006,10 +1009,6 @@ void debugger_frame::OnSelectUnit() return; } } - else - { - selected = nullptr; - } m_disasm.reset(); m_cpu.reset();