mixins.py
changeset 4383 e62a9efdd90a
parent 4351 619c7f9302fc
child 4395 e50b71c0dd87
--- a/mixins.py	Tue Jan 26 20:30:35 2010 +0100
+++ b/mixins.py	Wed Jan 27 09:21:38 2010 +0100
@@ -67,14 +67,11 @@
             _done = set()
         if self.eid in _done:
             return
+        _done.add(self.eid)
         yield self
-        _done.add(self.eid)
-        for child in self.iterchildren(_done):
-            try:
-                for entity in child.prefixiter(_done):
-                    yield entity
-            except AttributeError:
-                pass
+        for child in self.same_type_children():
+            for entity in child.prefixiter(_done):
+                yield entity
 
     @cached
     def path(self):