Hi,
I have a small GTInspector extension that shows me a tree-like structure of a graph. As
the data underneath are graphs, the tree itself is infinite (because there are loops).
That by itself works fine (because only roots are expanded), however when I am filtering
the elements (in raw pane), GTInspector gets stuck in infinite
GLMTreeMorphNodeModel>>pathIn: loop.
I've made couple of classes to reproduce the behavior - see attached file.
There are two types of nodes: one contains children (items), and the other can contain
references to other elements.
The extension is written in LLCompositeElement>>gtInspectorTreeIn:
To reproduce:
1. import attached package
2. execute the following
```
'<a>
<b ref c />
<c ref b />
</a>'.
a := LLCompositeElement named: 'a'.
b := LLReferenceElement named: 'b'.
c := LLReferenceElement named: 'c'.
a items: { b . c }.
b references: { c }.
c references: { b }.
a inspect.
```
3. the Tree view works fine (I see some visual glitching of arrows, but that doesn't
matter)
4. switch to Raw view
5. (any of these will trigger the behaivor)
5.a. click on "items" instance variable, or
5.b. "do it and go" any expression (e.g. 1+1)
6. now you are in infinite pathIn: loop
Sometimes I've experienced that breaking the loop (meta+.), closing the debugger and
redoing the expression worked... but I don't have any details about that.
Thanks!
Peter