mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -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:
@ -41,14 +41,8 @@ BreakpointWidget::BreakpointWidget(QWidget* parent) : QDockWidget(parent)
|
||||
CreateWidgets();
|
||||
|
||||
connect(&Settings::Instance(), &Settings::EmulationStateChanged, [this](Core::State state) {
|
||||
if (!Settings::Instance().IsDebugModeEnabled())
|
||||
return;
|
||||
|
||||
bool is_initialised = state != Core::State::Uninitialized;
|
||||
m_new->setEnabled(is_initialised);
|
||||
m_load->setEnabled(is_initialised);
|
||||
m_save->setEnabled(is_initialised);
|
||||
if (!is_initialised)
|
||||
UpdateButtonsEnabled();
|
||||
if (state == Core::State::Uninitialized)
|
||||
{
|
||||
PowerPC::breakpoints.Clear();
|
||||
PowerPC::memchecks.Clear();
|
||||
@ -65,8 +59,6 @@ BreakpointWidget::BreakpointWidget(QWidget* parent) : QDockWidget(parent)
|
||||
|
||||
connect(&Settings::Instance(), &Settings::ThemeChanged, this, &BreakpointWidget::UpdateIcons);
|
||||
UpdateIcons();
|
||||
|
||||
Update();
|
||||
}
|
||||
|
||||
BreakpointWidget::~BreakpointWidget()
|
||||
@ -138,8 +130,28 @@ void BreakpointWidget::closeEvent(QCloseEvent*)
|
||||
Settings::Instance().SetBreakpointsVisible(false);
|
||||
}
|
||||
|
||||
void BreakpointWidget::showEvent(QShowEvent* event)
|
||||
{
|
||||
UpdateButtonsEnabled();
|
||||
Update();
|
||||
}
|
||||
|
||||
void BreakpointWidget::UpdateButtonsEnabled()
|
||||
{
|
||||
if (!isVisible())
|
||||
return;
|
||||
|
||||
const bool is_initialised = Core::GetState() != Core::State::Uninitialized;
|
||||
m_new->setEnabled(is_initialised);
|
||||
m_load->setEnabled(is_initialised);
|
||||
m_save->setEnabled(is_initialised);
|
||||
}
|
||||
|
||||
void BreakpointWidget::Update()
|
||||
{
|
||||
if (!isVisible())
|
||||
return;
|
||||
|
||||
m_table->clear();
|
||||
|
||||
m_table->setHorizontalHeaderLabels(
|
||||
|
Reference in New Issue
Block a user