mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
DolphinQt: Don't update debug widgets when hidden
Saves on CPU usage when pausing/unpausing with the debugger disabled. This is especially important when using frame advance rapidly.
This commit is contained in:
@ -38,14 +38,7 @@ RegisterWidget::RegisterWidget(QWidget* parent) : QDockWidget(parent)
|
||||
PopulateTable();
|
||||
ConnectWidgets();
|
||||
|
||||
connect(Host::GetInstance(), &Host::UpdateDisasmDialog, this, [this] {
|
||||
if (Settings::Instance().IsDebugModeEnabled() && Core::GetState() == Core::State::Paused)
|
||||
{
|
||||
m_updating = true;
|
||||
emit UpdateTable();
|
||||
m_updating = false;
|
||||
}
|
||||
});
|
||||
connect(Host::GetInstance(), &Host::UpdateDisasmDialog, this, &RegisterWidget::Update);
|
||||
|
||||
connect(&Settings::Instance(), &Settings::RegistersVisibilityChanged,
|
||||
[this](bool visible) { setHidden(!visible); });
|
||||
@ -68,6 +61,11 @@ void RegisterWidget::closeEvent(QCloseEvent*)
|
||||
Settings::Instance().SetRegistersVisible(false);
|
||||
}
|
||||
|
||||
void RegisterWidget::showEvent(QShowEvent* event)
|
||||
{
|
||||
Update();
|
||||
}
|
||||
|
||||
void RegisterWidget::CreateWidgets()
|
||||
{
|
||||
m_table = new QTableWidget;
|
||||
@ -375,3 +373,13 @@ void RegisterWidget::AddRegister(int row, int column, RegisterType type, std::st
|
||||
|
||||
connect(this, &RegisterWidget::UpdateTable, [value] { value->RefreshValue(); });
|
||||
}
|
||||
|
||||
void RegisterWidget::Update()
|
||||
{
|
||||
if (isVisible() && Core::GetState() == Core::State::Paused)
|
||||
{
|
||||
m_updating = true;
|
||||
emit UpdateTable();
|
||||
m_updating = false;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user