From 565769ca3023bdf65126bfbd788dedb12b5de382 Mon Sep 17 00:00:00 2001 From: Chris Wiebe Date: Fri, 12 Aug 2005 19:09:10 +0000 Subject: [PATCH] 2005-08-12 Chris Wiebe Fix PR 106577: NPE in CTags Indexer * index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsFileReader.java * index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java --- core/org.eclipse.cdt.core/ChangeLog | 5 +++++ .../internal/core/index/ctagsindexer/CTagsFileReader.java | 6 +++++- .../cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/ChangeLog b/core/org.eclipse.cdt.core/ChangeLog index 7bcd4f14417..2283ed97838 100644 --- a/core/org.eclipse.cdt.core/ChangeLog +++ b/core/org.eclipse.cdt.core/ChangeLog @@ -1,3 +1,8 @@ +2005-08-12 Chris Wiebe + Fix PR 106577: NPE in CTags Indexer + * index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsFileReader.java + * index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java + 2005-08-12 Chris Wiebe Fix PR 106778: IndexerTypesJob2 painfully slow * browser/org/eclipse/cdt/internal/core/browser/cache/IndexerTypesJob2.java diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsFileReader.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsFileReader.java index 64f6624921b..be9e1873aae 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsFileReader.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsFileReader.java @@ -98,7 +98,11 @@ public class CTagsFileReader { indexer = new MiniIndexer(currentFile.getFullPath()); index.add(currentFile,indexer); } else { - indexer = new MiniIndexer(rootDirectory.append(fileName)); + IPath filePath = new Path(fileName); + if (!filePath.isAbsolute()) { + filePath = rootDirectory.append(fileName); + } + indexer = new MiniIndexer(filePath); try { IResource[] resources = project.members(); IFile tempFile=null; diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java index 26e83262d90..57d9c64efeb 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsIndexAll.java @@ -111,6 +111,7 @@ class CTagsIndexAll extends CTagsIndexRequest { //Parse the CTag File CTagsFileReader reader = new CTagsFileReader(project,ctagsFileToUse,indexer); reader.setIndex(index); + reader.setRootDirectory(project.getLocation()); reader.parse(); // request to save index when all cus have been indexed