From 4d609d8448091285b53d48c41c313045e0aec4f7 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 26 Jan 2011 11:54:19 +0100 Subject: [PATCH] fix NPE on adding a library with invalid roots --- .../ui/configuration/libraryEditor/NewLibraryEditor.java | 4 ++++ .../src/com/intellij/openapi/roots/ui/LightFilePointer.java | 2 ++ 2 files changed, 6 insertions(+) diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/NewLibraryEditor.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/NewLibraryEditor.java index 412e21d0584b..7f74f68b1b0e 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/NewLibraryEditor.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/libraryEditor/NewLibraryEditor.java @@ -81,6 +81,10 @@ public class NewLibraryEditor implements LibraryEditor { List result = new ArrayList(); for (LightFilePointer pointer : myRoots.get(rootType)) { final VirtualFile file = pointer.getFile(); + if (file == null) { + continue; + } + if (file.isDirectory()) { final Boolean recursively = myJarDirectories.get(file.getUrl()); if (recursively != null) { diff --git a/platform/platform-api/src/com/intellij/openapi/roots/ui/LightFilePointer.java b/platform/platform-api/src/com/intellij/openapi/roots/ui/LightFilePointer.java index a4315c359ade..74958b2b001f 100644 --- a/platform/platform-api/src/com/intellij/openapi/roots/ui/LightFilePointer.java +++ b/platform/platform-api/src/com/intellij/openapi/roots/ui/LightFilePointer.java @@ -19,6 +19,7 @@ import com.intellij.openapi.vfs.JarFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileManager; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.io.File; @@ -35,6 +36,7 @@ public class LightFilePointer { myFile = file; } + @Nullable public VirtualFile getFile() { refreshFile(); return myFile;