Hello,
I had a "Not enough memory" problem in my Moose image so digging the error (with Jean-Baptiste) reveals that when there is an error in a glamour browser, roassal visualization does not unsubscribe events. In my case, it retained the browser objects in the memory because these were pointed to by the subscriptions and this the browser was not releasing my MooseModel.
To reproduce the problem, you can execute the script below. On the right pane, right click on any node and then do, "select in tree". Close browser, garbage collect, and then do: MOAnnouncer allInstances. There are few instances related to MOAnnouncer that exist in the memory. Without the error, these objects disappear.
Can you please have a look?
tx,
Usman
| browser items |
browser := GLMTabulator withStatusbar.
items := 50.
browser column: #one; column: #two.
browser transmit to: #one; andShow: [ :a |
(a tree)
title: 'Tree';
showOnly: 30;
display: [:each | 1 to: items];
children: [ :item :x :level | level > 1
ifTrue: [ #() ]
ifFalse: [ 1 to: item ]]].
browser transmit to: #two; from: #one; andShow: [ :a |
a mondrian
title: 'Numbers in Mondrian list';
painting: [:view :number |
view interaction item: 'Select in tree' action: [:each | ((browser paneNamed: #one) port:#selection) value:41 ].
view interaction on: ROMouseEnter do: [ :n | ].
view shape rectangle size: 10.
view nodes: (Collection withAllSubclasses).
view edgesFrom: #superclass.
view treeLayout.
]
].
browser openOn: 1