summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/zope/interface/interface.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/zope/interface/interface.py b/src/zope/interface/interface.py
index 4e18f7d..8e2e8e6 100644
--- a/src/zope/interface/interface.py
+++ b/src/zope/interface/interface.py
@@ -274,7 +274,7 @@ class Specification(SpecificationBase):
def __setBases(self, bases):
# Register ourselves as a dependent of our old bases
- for b in self.__bases__:
+ for b in getattr(self, '__bases__', ()):
b.unsubscribe(self)
# Register ourselves as a dependent of our bases
@@ -284,11 +284,11 @@ class Specification(SpecificationBase):
self.changed(self)
- __bases__ = property(
-
- lambda self: self.__dict__.get('__bases__', ()),
- __setBases,
- )
+ def __setattr__(self, name, value):
+ if name == '__bases__':
+ self.__setBases(value)
+ else:
+ self.__dict__[name] = value
def changed(self, originally_changed):
"""We, or something we depend on, have changed