From e116d756b5aa055f6fbd4871469eb49bb148ddf0 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Fri, 1 Jul 2016 18:39:26 +0800 Subject: [PATCH] dashboard: kill the Qt built-in main window closing mechanism When the main window is closed, Qt makes QApplication.exec() return, which conflicts with Quamash's implementation of loop.run_until_complete(). The conflict causes Quamash's run_forever() to return earlier than it should, and cause "RuntimeError('Event loop stopped before Future completed.')". Closes #475 --- artiq/frontend/artiq_gui.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/artiq/frontend/artiq_gui.py b/artiq/frontend/artiq_gui.py index 91d785a85..657efb55d 100755 --- a/artiq/frontend/artiq_gui.py +++ b/artiq/frontend/artiq_gui.py @@ -47,7 +47,8 @@ class MainWindow(QtWidgets.QMainWindow): self.exit_request = asyncio.Event() - def closeEvent(self, *args): + def closeEvent(self, event): + event.ignore() self.exit_request.set() def save_state(self):