From 322655fc5ebe09b86222b5a5583e220b1ccba91a Mon Sep 17 00:00:00 2001 From: appel_c Date: Fri, 16 Jan 2026 20:15:51 +0100 Subject: [PATCH] refactor(busy-loager): Improve eventFilter to avoid crashs if target or overlay is None. --- bec_widgets/utils/busy_loader.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bec_widgets/utils/busy_loader.py b/bec_widgets/utils/busy_loader.py index 4df122ef..c88195f7 100644 --- a/bec_widgets/utils/busy_loader.py +++ b/bec_widgets/utils/busy_loader.py @@ -1,5 +1,6 @@ from __future__ import annotations +from bec_lib.logger import bec_logger from qtpy.QtCore import QEvent, QObject, Qt, QTimer, Signal from qtpy.QtGui import QColor from qtpy.QtWidgets import ( @@ -16,6 +17,8 @@ from qtpy.QtWidgets import ( from bec_widgets.utils.colors import apply_theme from bec_widgets.utils.error_popups import SafeProperty +logger = bec_logger.logger + class _OverlayEventFilter(QObject): """Keeps the overlay sized and stacked over its target widget.""" @@ -26,6 +29,10 @@ class _OverlayEventFilter(QObject): self._overlay = overlay def eventFilter(self, obj, event): + if not hasattr(self, " _target") or self._target is None: + return False + if not hasattr(self, "_overlay") or self._overlay is None: + return False if obj is self._target and event.type() in ( QEvent.Resize, QEvent.Show,