From 4c0850a2f03da7d27eea55ca04bf7fc9ef2935fa Mon Sep 17 00:00:00 2001 From: Alexey Pegov Date: Tue, 29 Dec 2009 16:13:57 +0300 Subject: [PATCH] [ex] 18170: NPE: ModuleRootManager.getInstance --- .../openapi/roots/ui/configuration/ModuleEditor.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 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 02a10416ee..96ba85d74f 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 @@ -111,6 +111,7 @@ public abstract class ModuleEditor implements Place.Navigator, Disposable { myEventDispatcher.removeListener(listener); } + @Nullable public Module getModule() { final Module[] all = myModulesProvider.getModules(); for (Module each : all) { @@ -121,8 +122,11 @@ public abstract class ModuleEditor implements Place.Navigator, Disposable { } public ModifiableRootModel getModifiableRootModel() { - if (myModifiableRootModel == null){ - myModifiableRootModel = ((ModuleRootManagerImpl)ModuleRootManager.getInstance(getModule())).getModifiableModel(new UIRootConfigurationAccessor(myProject)); + if (myModifiableRootModel == null) { + final Module module = getModule(); + if (module != null) { + myModifiableRootModel = ((ModuleRootManagerImpl)ModuleRootManager.getInstance(module)).getModifiableModel(new UIRootConfigurationAccessor(myProject)); + } } return myModifiableRootModel; } @@ -138,9 +142,12 @@ public abstract class ModuleEditor implements Place.Navigator, Disposable { public ModifiableRootModel getModifiableRootModelProxy() { if (myModifiableRootModelProxy == null) { - myModifiableRootModelProxy = (ModifiableRootModel)Proxy.newProxyInstance( - getClass().getClassLoader(), new Class[]{ModifiableRootModel.class}, new ModifiableRootModelInvocationHandler(getModifiableRootModel()) - ); + final ModifiableRootModel rootModel = getModifiableRootModel(); + if (rootModel != null) { + myModifiableRootModelProxy = (ModifiableRootModel)Proxy.newProxyInstance( + getClass().getClassLoader(), new Class[]{ModifiableRootModel.class}, new ModifiableRootModelInvocationHandler(rootModel) + ); + } } return myModifiableRootModelProxy; } -- 2.11.4.GIT