Debugger: Relax thread updates

This commit is contained in:
Elad
2026-09-10 17:33:45 +03:00
parent f2ac83f5eb
commit 9c6df388e8
2 changed files with 18 additions and 4 deletions
+16 -4
View File
@@ -1478,17 +1478,29 @@ void debugger_frame::WritePanels(cpu_thread* cpu)
m_last_misc_state.clear();
cpu->dump_misc(m_last_misc_state, m_dump_misc_func_data);
m_misc_state->clear();
m_misc_state->setPlainText(QString::fromStdString(m_last_misc_state));
if (m_last_misc_state != m_old_misc_state)
{
m_misc_state->clear();
m_misc_state->setPlainText(QString::fromStdString(m_last_misc_state));
m_old_misc_state = m_last_misc_state;
}
m_misc_state->verticalScrollBar()->setValue(loc);
m_misc_state->horizontalScrollBar()->setValue(hloc);
loc = m_regs->verticalScrollBar()->value();
hloc = m_regs->horizontalScrollBar()->value();
m_regs->clear();
m_last_reg_state.clear();
cpu->dump_regs(m_last_reg_state, m_dump_reg_func_data);
m_regs->setPlainText(QString::fromStdString(m_last_reg_state));
if (m_last_reg_state != m_old_reg_state)
{
m_regs->clear();
m_regs->setPlainText(QString::fromStdString(m_last_reg_state));
m_old_reg_state = m_last_reg_state;
}
m_regs->verticalScrollBar()->setValue(loc);
m_regs->horizontalScrollBar()->setValue(hloc);
+2
View File
@@ -69,7 +69,9 @@ class debugger_frame : public custom_dock_widget
u32 m_last_pc = -1;
std::vector<char> m_last_query_state;
std::string m_last_reg_state;
std::string m_old_reg_state;
std::string m_last_misc_state;
std::string m_old_misc_state;
std::any m_dump_reg_func_data;
std::any m_dump_misc_func_data;
std::vector<std::function<cpu_thread*()>> m_threads_info;