ControllerWidget has many memory leaks and cyclic references which prevent it from being deleted
For instance:
from soma.controller import Controller
from soma.qt_gui.controller import ControllerWidget
c = Controller()
cw = ControllerWidget(c)
cw.show()
del cw
the widget doesn't disappear on del. Plus the Controller instance still has callbacks left, see for instance c.on_fields_change.callbacks is not empty after the del.
I'm currently trying to work on it but there is much work there.
As a first step I could make the ControllerWidget deleted when gc.collect() is called, but the callbacks are still not removed from the controller...
ControllerWidgethas many memory leaks and cyclic references which prevent it from being deletedFor instance:
the widget doesn't disappear on del. Plus the
Controllerinstance still has callbacks left, see for instancec.on_fields_change.callbacksis not empty after the del.I'm currently trying to work on it but there is much work there.
As a first step I could make the
ControllerWidgetdeleted whengc.collect()is called, but the callbacks are still not removed from the controller...