Graph based SCL modules leaked when dependencies change
|Assignee:||Hannu Niemistö||% Done:|
|Release notes:||Fixed a memory leak related to recompilation of graph based SCL modules when their dependencies change.|
|Velocity based estimate||-|
|Release||Simantics 1.27.0||Release relationship||Auto|
Fixed memory leaks of SCL module listening systems
The main addition in this change are backlinks from UpdateListeners to
Observables. They make it possible to implement
UpdateListener.stopListening that removes the listener from all
Observables. This method is called automatically before the listener is
notified about the change, but client code can also call it when it
becames disinterested about changes.
Because now the client code is reposible for signaling when the
listening stops, the listeners are no more store to WeakHashMap in
This change also contains a change in the default imports of some graph
based modules (Prelude -> StandardLibrary).