Prevent child typeclasses class components from merging to inherited class components

This commit is contained in:
ChrisLR 2023-04-02 17:00:27 -04:00
parent 0749c3aa80
commit d2fdc31b5e

View file

@ -36,9 +36,11 @@ class ComponentProperty:
raise Exception("Cannot set a class property") raise Exception("Cannot set a class property")
def __set_name__(self, owner, name): def __set_name__(self, owner, name):
class_components = getattr(owner, "_class_components", None) # Retrieve the class_components set on the direct class only
class_components = owner.__dict__.get("_class_components")
if not class_components: if not class_components:
class_components = [] # Create a new list, including inherited class components
class_components = list(getattr(owner, "_class_components", []))
setattr(owner, "_class_components", class_components) setattr(owner, "_class_components", class_components)
class_components.append((self.component_name, self.values)) class_components.append((self.component_name, self.values))