Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornitind2007-04-19 04:31:52 +0000
committernitind2007-04-19 04:31:52 +0000
commitbaa4d2d33dcc49b945331bd32ff5d3ea2be10725 (patch)
treea3e7b4702485f71e8bebce47fe96ceeba0be9e38 /bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/TaglibIndex.java
parent6b99f1338ca5035a156d3a4e2dae2cb6086f0d22 (diff)
downloadwebtools.sourceediting-baa4d2d33dcc49b945331bd32ff5d3ea2be10725.tar.gz
webtools.sourceediting-baa4d2d33dcc49b945331bd32ff5d3ea2be10725.tar.xz
webtools.sourceediting-baa4d2d33dcc49b945331bd32ff5d3ea2be10725.zip
[nobug] add extra safeties for out of workspace paths
Diffstat (limited to 'bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/TaglibIndex.java')
-rw-r--r--bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/TaglibIndex.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/TaglibIndex.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/TaglibIndex.java
index 4b10fb14de..b0e9e33085 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/TaglibIndex.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/TaglibIndex.java
@@ -799,8 +799,8 @@ public final class TaglibIndex {
return rootPath;
}
// try to handle out-of-workspace paths
- IPath root = path;
- while (root != null && !root.isRoot())
+ IPath root = path.makeAbsolute();
+ while (root.segmentCount() > 0 && !root.isRoot())
root = root.removeLastSegments(1);
if (root == null)
root = path;
@@ -849,9 +849,11 @@ public final class TaglibIndex {
baseResource = files[0];
}
if (baseResource != null) {
- project = baseResource.getProject();
- ProjectDescription description = createDescription(project);
- resolved = description.resolve(basePath, reference);
+ project = ResourcesPlugin.getWorkspace().getRoot().getProject(baseIPath.segment(0));
+ if (project.isAccessible()) {
+ ProjectDescription description = createDescription(project);
+ resolved = description.resolve(basePath, reference);
+ }
}
return resolved;

Back to the top