diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/InclusionContext.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/InclusionContext.java index bdca8db3b9b..c08cb426d5a 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/InclusionContext.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/includes/InclusionContext.java @@ -169,15 +169,17 @@ public class InclusionContext { for (IPath path : fHeadersToInclude) { if (!exportedHeaders.contains(path)) { IIndexFile file = filesByPath.get(path); - ArrayDeque queue = new ArrayDeque(); - queue.add(file); - while ((file = queue.pollFirst()) != null) { - for (IIndexInclude include : file.getIncludes()) { - if (include.isIncludedFileExported()) { - file = fIndex.resolveInclude(include); - if (file != null) { - if (exportedHeaders.add(getPath(file))) - queue.add(file); + if (file != null) { // file can be null if the header was not indexed. + ArrayDeque queue = new ArrayDeque(); + queue.add(file); + while ((file = queue.pollFirst()) != null) { + for (IIndexInclude include : file.getIncludes()) { + if (include.isIncludedFileExported()) { + file = fIndex.resolveInclude(include); + if (file != null) { + if (exportedHeaders.add(getPath(file))) + queue.add(file); + } } } }