From ee9716c9e61a4e0b4ec7e973a78763ecea3d9e69 Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 30 Oct 2009 11:22:14 +0300 Subject: [PATCH] ModifableRootModel is not created if only ModuleRootModel is needed --- .../openapi/roots/ui/configuration/ModuleEditor.java | 8 ++++++++ .../roots/ui/configuration/ModulesConfigurator.java | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModuleEditor.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModuleEditor.java index 082be71429f9..02a10416ee55 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModuleEditor.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModuleEditor.java @@ -27,6 +27,7 @@ import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ModuleRootManager; +import com.intellij.openapi.roots.ModuleRootModel; import com.intellij.openapi.roots.OrderEntry; import com.intellij.openapi.roots.impl.ModuleRootManagerImpl; import com.intellij.openapi.roots.libraries.Library; @@ -144,6 +145,13 @@ public abstract class ModuleEditor implements Place.Navigator, Disposable { return myModifiableRootModelProxy; } + public ModuleRootModel getRootModel() { + if (myModifiableRootModel != null) { + return getModifiableRootModelProxy(); + } + return ModuleRootManager.getInstance(myModule); + } + public boolean isModified() { for (ModuleConfigurationEditor moduleElementsEditor : myEditors) { if (moduleElementsEditor.isModified()) { diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java index 5005d8fc7cc9..4b1f04bdead8 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ModulesConfigurator.java @@ -151,11 +151,11 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change final ModuleEditor editor = getModuleEditor(module); ModuleRootModel rootModel = null; if (editor != null) { - rootModel = editor.getModifiableRootModel(); + rootModel = editor.getRootModel(); } if (rootModel == null && getModule(module.getName()) != null) { createModuleEditor(module); - rootModel = getModuleEditor(module).getModifiableRootModel(); + rootModel = getModuleEditor(module).getRootModel(); } return rootModel;