Merge pull request #560 from jonian/qt-window-close

Qt: Stop emuThread on closeEvent
This commit is contained in:
wheremyfoodat
2024-07-25 10:59:18 +00:00
committed by GitHub
2 changed files with 7 additions and 3 deletions

View File

@@ -139,6 +139,7 @@ class MainWindow : public QMainWindow {
MainWindow(QApplication* app, QWidget* parent = nullptr);
~MainWindow();
void closeEvent(QCloseEvent *event) override;
void keyPressEvent(QKeyEvent* event) override;
void keyReleaseEvent(QKeyEvent* event) override;
void mousePressEvent(QMouseEvent* event) override;

View File

@@ -204,14 +204,17 @@ void MainWindow::selectLuaFile() {
}
}
// Cleanup when the main window closes
MainWindow::~MainWindow() {
// Stop emulator thread when the main window closes
void MainWindow::closeEvent(QCloseEvent *event) {
appRunning = false; // Set our running atomic to false in order to make the emulator thread stop, and join it
if (emuThread.joinable()) {
emuThread.join();
}
}
// Cleanup when the main window closes
MainWindow::~MainWindow() {
delete emu;
delete menuBar;
delete aboutWindow;
@@ -597,4 +600,4 @@ void MainWindow::pollControllers() {
}
}
}
}
}