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 b9ff883224ac..870410916037 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 @@ -318,24 +318,21 @@ public abstract class ModuleEditor implements Place.Navigator, Disposable { myGenericSettingsPanel = null; } finally { - myModifiableRootModel = null; - myModifiableRootModelProxy = null; + resetModifiableModel(); } } public ModifiableRootModel apply() throws ConfigurationException { - try { - for (ModuleConfigurationEditor editor : myEditors) { - editor.saveData(); - editor.apply(); - } + for (ModuleConfigurationEditor editor : myEditors) { + editor.saveData(); + editor.apply(); + } + return myModifiableRootModel; + } - return myModifiableRootModel; - } - finally { - myModifiableRootModel = null; - myModifiableRootModelProxy = null; - } + void resetModifiableModel() { + myModifiableRootModel = null; + myModifiableRootModelProxy = null; } public void canApply() throws ConfigurationException { 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 c9ab97df0949..89fcc6036abb 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 @@ -313,6 +313,9 @@ public class ModulesConfigurator implements ModulesProvider, ModuleEditor.Change try { ModifiableModelCommitter.multiCommit(models, myModuleModel); + for (ModuleEditor editor : myModuleEditors.values()) { + editor.resetModifiableModel(); + } myModuleModelCommitted = true; myFacetsConfigurator.commitFacets();