Bug 540868 - NPE in DeltaProcessor.checkProjectsBeingAddedOrRemoved on
closing project
Just added NPE guards around delta use (delta can be null in some valid
cases).
Change-Id: Iad70430b6c40a230f748d15ed1b3259d4cc385c1
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/DeltaProcessor.java b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/DeltaProcessor.java
index fb47333..05394f7 100644
--- a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/DeltaProcessor.java
+++ b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/DeltaProcessor.java
@@ -1778,7 +1778,9 @@
try {
try {
this.stopDeltas();
- this.checkProjectsBeingAddedOrRemoved(delta);
+ if (delta != null) {
+ this.checkProjectsBeingAddedOrRemoved(delta);
+ }
// generate external archive change deltas
if (elementsToRefresh != null) {
// Call archive or custom deltas only if project are
@@ -1822,10 +1824,11 @@
if (!hasDelta)
this.currentDelta = null;
}
-
- IModelElementDelta translatedDelta = this.processResourceDelta(delta);
- if (translatedDelta != null) {
- this.registerModelDelta(translatedDelta);
+ if (delta != null) {
+ IModelElementDelta translatedDelta = this.processResourceDelta(delta);
+ if (translatedDelta != null) {
+ this.registerModelDelta(translatedDelta);
+ }
}
} finally {
this.startDeltas();