0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

fix(signal input base): unregister callback to avoid accessing deleted qt objects

This commit is contained in:
2025-06-27 18:19:49 +02:00
committed by Klaus Wakonig
parent 00ea8bb6c6
commit 7ba8863d6a
2 changed files with 17 additions and 1 deletions

View File

@ -55,7 +55,7 @@ class DeviceSignalInputBase(BECWidget):
self._hinted_signals = []
self._normal_signals = []
self._config_signals = []
self.bec_dispatcher.client.callbacks.register(
self._device_update_register = self.bec_dispatcher.client.callbacks.register(
EventType.DEVICE_UPDATE, self.update_signals_from_filters
)
@ -289,3 +289,10 @@ class DeviceSignalInputBase(BECWidget):
if config is None:
return DeviceSignalInputBaseConfig(widget_class=self.__class__.__name__)
return DeviceSignalInputBaseConfig.model_validate(config)
def cleanup(self):
"""
Cleanup the widget.
"""
self.bec_dispatcher.client.callbacks.remove(self._device_update_register)
super().cleanup()