Sorry, forgot to send the attachment.
Peter
On Fri, Apr 14, 2017 at 03:06:55PM +0200, Peter Uhnak wrote:
> 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
_______________________________________________
Moose-dev mailing list
Moose-dev@list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev