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