From 2117fc1b8c261d8323a4fe50862574c5c319f100 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Wed, 20 May 2026 20:35:42 +0200 Subject: [PATCH] wip cleanup of the device_selection.py --- .../plots/image/toolbar_components/device_selection.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bec_widgets/widgets/plots/image/toolbar_components/device_selection.py b/bec_widgets/widgets/plots/image/toolbar_components/device_selection.py index b9746f53..212367f5 100644 --- a/bec_widgets/widgets/plots/image/toolbar_components/device_selection.py +++ b/bec_widgets/widgets/plots/image/toolbar_components/device_selection.py @@ -14,6 +14,7 @@ class DeviceSelection(QWidget): super().__init__(parent=parent) self.client = client + self._cleanup_done = False self.supported_signals = [ "PreviewSignal", "AsyncSignal", @@ -138,11 +139,19 @@ class DeviceSelection(QWidget): def cleanup(self): """Clean up the widget resources.""" + if self._cleanup_done: + return + self._cleanup_done = True self.device_combo_box.close() self.device_combo_box.deleteLater() self.signal_combo_box.close() self.signal_combo_box.deleteLater() + def closeEvent(self, event): + """Ensure embedded BEC widgets clean up when the toolbar widget closes.""" + self.cleanup() + super().closeEvent(event) + def device_selection_bundle(components: ToolbarComponents, client=None) -> ToolbarBundle: """