From d8864e1b4f43e45be46b054d36ed6d2c12f037d3 Mon Sep 17 00:00:00 2001 From: Alexandr Evstigneev Date: Tue, 13 Sep 2016 11:43:40 +0300 Subject: [PATCH] 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 --- .../intellij/openapi/options/TabbedConfigurable.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/options/TabbedConfigurable.java b/platform/platform-impl/src/com/intellij/openapi/options/TabbedConfigurable.java index 40c04bec28af..217339f748f0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/TabbedConfigurable.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/TabbedConfigurable.java @@ -27,15 +27,15 @@ import javax.swing.*; */ public abstract class TabbedConfigurable extends CompositeConfigurable { 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