diff -r f3ec0f55b790 -r c7913ceffa62 HierarchicalItem.st --- a/HierarchicalItem.st Fri Jul 09 09:11:28 2010 +0200 +++ b/HierarchicalItem.st Fri Jul 09 09:53:30 2010 +0200 @@ -1371,7 +1371,7 @@ *** to optimize: either redefine this or fetchChildren by subClass" children isNil ifTrue:[ - self fetchChildren + children := self fetchChildren ]. ^ children ! @@ -1380,15 +1380,14 @@ "should compute the list of children via the model. Be aware, that the somewhat stupid 'optimization' of how the model is fetched may lead to a O(n*log n) or even O(n^2) behavior here. - Should side-effect-update the list of children. *** to optimize: redefine by subClass" - |model| + |model childrenFromModel| (model := self model) notNil ifTrue:[ - children := model childrenFor:self + childrenFromModel := model childrenFor:self ]. - ^ children + ^ childrenFromModel ! icon @@ -1948,9 +1947,9 @@ !HierarchicalItem class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalItem.st,v 1.96 2010-07-09 07:11:28 cg Exp $' + ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalItem.st,v 1.97 2010-07-09 07:53:30 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalItem.st,v 1.96 2010-07-09 07:11:28 cg Exp $' + ^ '$Header: /cvs/stx/stx/libwidg2/HierarchicalItem.st,v 1.97 2010-07-09 07:53:30 cg Exp $' ! !