From a6ca3ea2353f3b2ef221296a45ee4f43481991ca Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Wed, 25 Jan 2012 11:20:39 -0500 Subject: [PATCH] bug 369693: Using a workspace root as include paths causes NPE in Project Explorer --- .../eclipse/cdt/internal/ui/cview/CViewLabelProvider.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CViewLabelProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CViewLabelProvider.java index 5608d8a5ef6..156a062bdfe 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CViewLabelProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CViewLabelProvider.java @@ -111,11 +111,12 @@ public class CViewLabelProvider extends AppearanceAwareLabelProvider { String imageKey = null; if (element instanceof IncludeReferenceProxy) { IIncludeReference reference = ((IncludeReferenceProxy)element).getReference(); - IContainer container = ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(reference.getPath()); - if (container != null) { + IContainer containerInclude = ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(reference.getPath()); + if (containerInclude != null) { ICProject cproject = reference.getCProject(); IProject project = (cproject != null) ? cproject.getProject() : null; - boolean isProjectRelative = container.getProject().equals(project); + IProject projectInclude = containerInclude.getProject(); + boolean isProjectRelative = projectInclude != null && projectInclude.equals(project); imageKey = LanguageSettingsImages.getImageKey(ICSettingEntry.INCLUDE_PATH, ICSettingEntry.VALUE_WORKSPACE_PATH, isProjectRelative); } else { imageKey = CDTSharedImages.IMG_OBJS_INCLUDES_FOLDER;