Merge pull request #560 from jonian/qt-window-close
Qt: Stop emuThread on closeEvent
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user