diff --git a/qt_ui/simcontroller.py b/qt_ui/simcontroller.py index 33af32cb..fbfb88b5 100644 --- a/qt_ui/simcontroller.py +++ b/qt_ui/simcontroller.py @@ -44,6 +44,9 @@ class SimController(QObject): self.recreate_game_loop(game) self.sim_speed_reset.emit(SimSpeedSetting.PAUSED) + def shut_down(self) -> None: + self._sim_update_thread.stop() + def recreate_game_loop(self, game: Optional[Game]) -> None: if self.game_loop is not None: self._sim_update_thread.on_sim_pause() diff --git a/qt_ui/windows/QLiberationWindow.py b/qt_ui/windows/QLiberationWindow.py index bc9ae7b8..05f5564a 100644 --- a/qt_ui/windows/QLiberationWindow.py +++ b/qt_ui/windows/QLiberationWindow.py @@ -389,6 +389,7 @@ class QLiberationWindow(QMainWindow): QMessageBox.Yes | QMessageBox.No, ) if result == QMessageBox.Yes: + self.sim_controller.shut_down() super().closeEvent(event) self.dialog = None else: