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();