device: Fix crash in NotificationFlag.flag_names when flags is None (#3185)
flag_names() crashes with AttributeError when NotificationFlag returns a value whose .name attribute is None. This occurs with certain receiver firmware versions (Nano C52F, Unifying C52B, Bolt C548). Return an empty list instead, consistent with the List[str] return type. Fixes #3184 Co-authored-by: avercelli <avercelli@vulog.com>
This commit is contained in:
parent
5478224cfa
commit
7d571d855f
|
|
@ -91,6 +91,8 @@ class NotificationFlag(IntFlag):
|
|||
@classmethod
|
||||
def flag_names(cls, flags) -> List[str]:
|
||||
"""Extract the names of the flags from the integer."""
|
||||
if flags is None or flags.name is None:
|
||||
return []
|
||||
return flags.name.replace("_", " ").lower().split("|")
|
||||
|
||||
NUMPAD_NUMERICAL_KEYS = 0x800000
|
||||
|
|
|
|||
Loading…
Reference in New Issue