Bug Report: Memory Leak with SplitDockStations

Hi Beni, I hope this is the proper place to put my question

I am using your application, that fits very well in my system, although I have a major problem with it:
My application contains a few available “modules”, that the users can open and close in tabs (they can open a “module” many many times). My problem is that when the tab is closed, the references are not cleared, and I get a big memory leak.
Using eclipse Memory Analyzer, I see that the class SplitDockStation contains a PropertyKey DIVIDER_STRATEGY, whose value is a DefaultSplitDividerStrategy. this object contains a map of handlers (Map<SplitDockStation, Handler>) and this is what prevents the garbage collector from collecting all those objects.
I see that there is a uninstall(SplitDockStation) method in DefaultSplitDividerStrategy, but here I am a bit lost, as I am not sure how I can access those SplitDockStation (they seems to be created internally)

The code to create the docks is more or less:
CGrid grid = new CGrid(ccontrol);
grid.add(0, 0, 6, 4, queue.createBackup(…));
grid.add(6, 0, 4, 4, rip.createBackup(…));
grid.add(0, 4, 5, 6, flows.createBackup(…));
grid.add(5, 4, 5, 6, xmls.createBackup(…));
where queue,rip,flows,xmls are all instances of SingleCDockableFactory
I am also using the PanelsMenu you have in a demo, to show all the available

I am not sure if I have explained clear enough.

By the way, I am using version 1.1.1p7d

I’m not sure I fully understand what your application does. These “modules”, what are they exactly? New SplitDockStations (in the form of CContentAreas, CWorkingAreas or calling the method “getContentArea”)? Because usually an application has only one or two SplitDockStation running.

[Edit: but in any case I see one of the reasons behind the memory leak. One part of it is a bug in the framework. I’ll have a fixed version uploaded later this day]

A new version is online, if your application works as I think it does, then the memory leak should be gone.