RUBY-18534: got rid of memory leak in RubyProjectStructureConfigurable

Implemented getter for parentDisposable in TabbedConfigurable, allowing to access disposable, created in invocation of super-class constructor and disposing in disposeUIResources
Also, renamed Tabbedconfigurable#myParent field to unambiguous myParentDisposable
This commit is contained in:
Alexandr Evstigneev
2016-09-13 11:48:31 +03:00
parent f3719d7cd5
commit d8864e1b4f
@@ -27,15 +27,15 @@ import javax.swing.*;
*/
public abstract class TabbedConfigurable extends CompositeConfigurable<Configurable> {
protected TabbedPaneWrapper myTabbedPane;
private final Disposable myParent;
private final Disposable myParentDisposable;
protected TabbedConfigurable(@NotNull Disposable parent) {
myParent = parent;
protected TabbedConfigurable(@NotNull Disposable parentDisposable) {
myParentDisposable = parentDisposable;
}
@Override
public JComponent createComponent() {
myTabbedPane = new TabbedPaneWrapper(myParent);
myTabbedPane = new TabbedPaneWrapper(myParentDisposable);
createConfigurableTabs();
final JComponent component = myTabbedPane.getComponent();
component.setPreferredSize(JBUI.size(500, 400));
@@ -53,4 +53,8 @@ public abstract class TabbedConfigurable extends CompositeConfigurable<Configura
myTabbedPane = null;
super.disposeUIResources();
}
public Disposable getParentDisposable() {
return myParentDisposable;
}
}