From d0bb5c69acf34803ef71ad8f8b503e22ec091359 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Wed, 30 Mar 2011 12:36:04 +0400 Subject: [PATCH] Fix for EA-24810 - assert: EditorFactoryImpl.a: don't recreate panels if disposed. --- .../application/options/codeStyle/CodeStyleMainPanel.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/CodeStyleMainPanel.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/CodeStyleMainPanel.java index 0755d98f7193..49a87b4d122b 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/CodeStyleMainPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/CodeStyleMainPanel.java @@ -43,6 +43,7 @@ public class CodeStyleMainPanel extends JPanel implements LanguageSelectorListen private final CodeStyleSettingsPanelFactory myFactory; private final CodeStyleSchemesPanel mySchemesPanel; private final LanguageSelector myLangSelector; + private boolean myIsDisposed = false; @NonNls private static final String WAIT_CARD = "CodeStyleSchemesConfigurable.$$$.Wait.placeholder.$$$"; @@ -113,8 +114,10 @@ public class CodeStyleMainPanel extends JPanel implements LanguageSelectorListen myLayout.show(mySettingsPanel, WAIT_CARD); final Runnable replaceLayout = new Runnable() { public void run() { - ensureCurrentPanel().onSomethingChanged(); - myLayout.show(mySettingsPanel, myModel.getSelectedScheme().getName()); + if (!myIsDisposed) { + ensureCurrentPanel().onSomethingChanged(); + myLayout.show(mySettingsPanel, myModel.getSelectedScheme().getName()); + } } }; if (ApplicationManager.getApplication().isHeadlessEnvironment()) { @@ -206,6 +209,7 @@ public class CodeStyleMainPanel extends JPanel implements LanguageSelectorListen myAlarm.cancelAllRequests(); clearPanels(); myLangSelector.removeListener(this); + myIsDisposed = true; } public boolean isModified(final CodeStyleScheme scheme) {