Bug 509984 - UI freeze with many closed projects if working sets enabled
Avoid asking Java projects about classpaths if they are not accessible -
this produces unneeded overhead.
Change-Id: Ic5b05a879b1513ef05f559fa9830e233a46fc2b9
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/workingsets/WorkingSetFilter.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/workingsets/WorkingSetFilter.java
index 1a0f325..c36f85e 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/workingsets/WorkingSetFilter.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/workingsets/WorkingSetFilter.java
@@ -98,6 +98,9 @@
if (fJavaElement != null && element.fJavaElement != null) {
IJavaElement other= element.fJavaElement;
if (fJavaElement.getElementType() == IJavaElement.JAVA_PROJECT) {
+ if (!((IJavaProject) fJavaElement).getProject().isAccessible()) {
+ return false;
+ }
IPackageFragmentRoot pkgRoot= (IPackageFragmentRoot) other.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
if (pkgRoot != null && pkgRoot.isExternal()) {
if (((IJavaProject) fJavaElement).isOnClasspath(other)) {