From b61897b43880f43b9dffe133849149b987774aa4 Mon Sep 17 00:00:00 2001 From: getzze Date: Thu, 1 Feb 2024 22:53:28 +0000 Subject: [PATCH] make sure signal is a SignalInstance --- src/psygnal/_group_descriptor.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/psygnal/_group_descriptor.py b/src/psygnal/_group_descriptor.py index 23c320d3..bd391cd0 100644 --- a/src/psygnal/_group_descriptor.py +++ b/src/psygnal/_group_descriptor.py @@ -314,7 +314,9 @@ def _setattr_and_emit_(self: object, name: str, value: Any) -> None: sig_name = f"{name}{signal_suffix}" group: SignalGroup | None = getattr(self, signal_group_name, None) - signal: SignalInstance | None = group.signals.get(sig_name, None) + signal: SignalInstance | None = ( + None if group is None else group.signals.get(sig_name, None) + ) # don't emit if the signal doesn't exist or has no listeners if group is None or signal is None or len(signal) < 2 and not len(group): return super_setattr(self, name, value)