[251542] Closing a project causes errors in the log
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java
index 63407bf..fe0c9c0 100644
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java
+++ b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/ProjectConfiguration.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
+ * Copyright (c) 2001, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -598,7 +598,9 @@
pref.put(ValidationConfiguration.DelegatesPreference, serializeDelegatesSetting());
pref.flush();
} catch (BackingStoreException e) {
- ValidationPlugin.getPlugin().handleException(e);
+ // A common error is that the project has been closed, in which case there
+ // is nothing that we can do.
+ if (project.isAccessible())ValidationPlugin.getPlugin().handleException(e);
}
}
}
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java
index 61666ed..824aace 100644
--- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java
+++ b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/operations/ValidationBuilder.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
+ * Copyright (c) 2001, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -173,9 +173,10 @@
performFullBuild(monitor, prjp);
} else {
if (delta.getAffectedChildren().length == 0) {
- if (isReferencedProjectInDelta(referenced))
+ if (isReferencedProjectInDelta(referenced)){
cleanupReferencedProjectsMarkers(prjp, referenced);
performFullBuildForReferencedProjectChanged(monitor, prjp);
+ }
return referenced;
}
EnabledIncrementalValidatorsOperation operation = new EnabledIncrementalValidatorsOperation(project, delta, true);
@@ -212,7 +213,7 @@
Set<ValidatorMetaData> set = new HashSet<ValidatorMetaData>();
set.addAll( Arrays.asList( enabledValidators ) );
for (IProject p : referenced) {
- if (!p.exists())continue;
+ if (!p.isAccessible())continue;
ProjectConfiguration refProjectCfg = ConfigurationManager.getManager().getProjectConfiguration(p);
ValidatorMetaData[] refEnabledValidators = refProjectCfg.getEnabledFullBuildValidators(true, false);