diff --git a/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp b/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp index 253017a952..c9f9a6ceff 100644 --- a/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp +++ b/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp @@ -150,18 +150,18 @@ void FIFOPlayerWindow::CreateWidgets() layout->addWidget(recording_group); layout->addWidget(m_button_box); - QWidget* main_widget = new QWidget(this); - main_widget->setLayout(layout); + m_main_widget = new QWidget(this); + m_main_widget->setLayout(layout); - auto* tab_widget = new QTabWidget(this); + m_tab_widget = new QTabWidget(this); m_analyzer = new FIFOAnalyzer; - tab_widget->addTab(main_widget, tr("Play / Record")); - tab_widget->addTab(m_analyzer, tr("Analyze")); + m_tab_widget->addTab(m_main_widget, tr("Play / Record")); + m_tab_widget->addTab(m_analyzer, tr("Analyze")); auto* tab_layout = new QVBoxLayout; - tab_layout->addWidget(tab_widget); + tab_layout->addWidget(m_tab_widget); setLayout(tab_layout); } @@ -250,6 +250,8 @@ void FIFOPlayerWindow::OnEmulationStopped() StopRecording(); UpdateControls(); + // When emulation stops, switch away from the analyzer tab, as it no longer shows anything useful + m_tab_widget->setCurrentWidget(m_main_widget); m_analyzer->Update(); } diff --git a/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.h b/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.h index 7f6fbf6f1a..2fe7bce352 100644 --- a/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.h +++ b/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.h @@ -12,6 +12,7 @@ class QDialogButtonBox; class QLabel; class QPushButton; class QSpinBox; +class QTabWidget; class FIFOAnalyzer; class FIFOPlayerWindow : public QWidget @@ -64,6 +65,9 @@ private: QCheckBox* m_early_memory_updates; QDialogButtonBox* m_button_box; + QWidget* m_main_widget; + QTabWidget* m_tab_widget; + FIFOAnalyzer* m_analyzer; Core::State m_emu_state = Core::State::Uninitialized; };