summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp32
1 files changed, 22 insertions, 10 deletions
diff --git a/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp b/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp
index d855b1af3a..66d178c5b2 100644
--- a/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp
@@ -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(