diff --git a/plugins/ui-designer-core/src/com/intellij/designer/DesignerToolWindowManager.java b/plugins/ui-designer-core/src/com/intellij/designer/DesignerToolWindowManager.java index a35be4d28697..5ebc2a4c94ef 100644 --- a/plugins/ui-designer-core/src/com/intellij/designer/DesignerToolWindowManager.java +++ b/plugins/ui-designer-core/src/com/intellij/designer/DesignerToolWindowManager.java @@ -33,7 +33,7 @@ import org.jetbrains.annotations.Nullable; * @author Alexander Lobas */ public final class DesignerToolWindowManager extends AbstractToolWindowManager { - private final DesignerToolWindow myToolWindowContent; + private DesignerToolWindow myToolWindowContent; ////////////////////////////////////////////////////////////////////////////////////////// // @@ -43,7 +43,6 @@ public final class DesignerToolWindowManager extends AbstractToolWindowManager { public DesignerToolWindowManager(Project project, FileEditorManager fileEditorManager) { super(project, fileEditorManager); - myToolWindowContent = new DesignerToolWindow(project, true); } public static DesignerToolWindow getInstance(DesignerEditorPanel designer) { @@ -67,6 +66,10 @@ public final class DesignerToolWindowManager extends AbstractToolWindowManager { @Override protected void initToolWindow() { + if (myToolWindowContent == null) { + myToolWindowContent = new DesignerToolWindow(myProject, true); + } + myToolWindow = ToolWindowManager.getInstance(myProject).registerToolWindow(DesignerBundle.message("designer.toolwindow.name"), false, getAnchor(), myProject, true); myToolWindow.setIcon(UIDesignerNewIcons.ToolWindow); @@ -110,7 +113,9 @@ public final class DesignerToolWindowManager extends AbstractToolWindowManager { @Override public void disposeComponent() { - myToolWindowContent.dispose(); + if (myToolWindowContent != null) { + myToolWindowContent.dispose(); + } } @NotNull diff --git a/plugins/ui-designer-core/src/com/intellij/designer/palette/PaletteToolWindowManager.java b/plugins/ui-designer-core/src/com/intellij/designer/palette/PaletteToolWindowManager.java index 3fddf66eaad6..fa30fcbff759 100644 --- a/plugins/ui-designer-core/src/com/intellij/designer/palette/PaletteToolWindowManager.java +++ b/plugins/ui-designer-core/src/com/intellij/designer/palette/PaletteToolWindowManager.java @@ -34,7 +34,7 @@ import org.jetbrains.annotations.Nullable; * @author Alexander Lobas */ public class PaletteToolWindowManager extends AbstractToolWindowManager { - private final PalettePanel myToolWindowPanel = new PalettePanel(); + private PalettePanel myToolWindowPanel; ////////////////////////////////////////////////////////////////////////////////////////// // @@ -66,6 +66,10 @@ public class PaletteToolWindowManager extends AbstractToolWindowManager { @Override protected void initToolWindow() { + if (myToolWindowPanel == null) { + myToolWindowPanel = new PalettePanel(); + } + myToolWindow = ToolWindowManager.getInstance(myProject).registerToolWindow("Palette\t", false, getAnchor(), myProject, true); myToolWindow.setIcon(AllIcons.Toolwindows.ToolWindowPalette); initGearActions(); @@ -100,7 +104,9 @@ public class PaletteToolWindowManager extends AbstractToolWindowManager { @Override public void disposeComponent() { - myToolWindowPanel.dispose(); + if (myToolWindowPanel != null) { + myToolWindowPanel.dispose(); + } } @NotNull