From e52ee2604cb35096f1bd833ca9516d8a34197d35 Mon Sep 17 00:00:00 2001 From: Mathias Guijarro Date: Fri, 12 Jul 2024 14:50:38 +0200 Subject: [PATCH] fix: add missing close() call, ensure jupyter console client.shutdown() is called in closeEvent --- .../examples/jupyter_console/jupyter_console_window.py | 3 +-- bec_widgets/widgets/jupyter_console/jupyter_console.py | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/bec_widgets/examples/jupyter_console/jupyter_console_window.py b/bec_widgets/examples/jupyter_console/jupyter_console_window.py index bedba319..821ac50f 100644 --- a/bec_widgets/examples/jupyter_console/jupyter_console_window.py +++ b/bec_widgets/examples/jupyter_console/jupyter_console_window.py @@ -175,12 +175,11 @@ class JupyterConsoleWindow(QWidget): # pragma: no cover: def closeEvent(self, event): """Override to handle things when main window is closed.""" - self.dock.clear_all() self.dock.cleanup() self.dock.close() - self.figure.clear_all() self.figure.cleanup() self.figure.close() + self.console.close() super().closeEvent(event) diff --git a/bec_widgets/widgets/jupyter_console/jupyter_console.py b/bec_widgets/widgets/jupyter_console/jupyter_console.py index b9c2e8e8..68f02134 100644 --- a/bec_widgets/widgets/jupyter_console/jupyter_console.py +++ b/bec_widgets/widgets/jupyter_console/jupyter_console.py @@ -10,6 +10,7 @@ class BECJupyterConsole(RichJupyterWidget): # pragma: no cover: super().__init__() self.inprocess = None + self.client = None self.kernel_manager, self.kernel_client = self._init_kernel(inprocess=inprocess) self.set_default_style("linux") @@ -60,6 +61,11 @@ class BECJupyterConsole(RichJupyterWidget): # pragma: no cover: self.kernel_client.stop_channels() self.kernel_manager.shutdown_kernel() + def closeEvent(self, event): + self.shutdown_kernel() + if self.client: + self.client.shutdown() + if __name__ == "__main__": # pragma: no cover import sys