Bug 493164 - NPE in ProjectReferencePage
Change-Id: I02a425db83af61ffe8d34e3e75279795de7b154c
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
index 2c873f3..4820bf7 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
@@ -19,6 +19,7 @@
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.runtime.Adapters;
+import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -167,7 +168,12 @@
* Initializes a ProjectReferencePage.
*/
private void initialize() {
- project = (IProject) Adapters.adapt(getElement(), IResource.class);
+ project = Adapters.adapt(getElement(), IProject.class);
+ if (project == null) {
+ IResource resource = Adapters.adapt(getElement(), IResource.class);
+ Assert.isNotNull(resource, "unable to adapt element to a project"); //$NON-NLS-1$
+ project = resource.getProject();
+ }
noDefaultAndApplyButton();
setDescription(NLS.bind(IDEWorkbenchMessages.ProjectReferencesPage_label, project.getName()));
}