Bug 406814 - NPE in FileSystemResourceManager

Check if the RefreshManager is null: it can be already cleaned up on
shutdown.

Change-Id: Idd31c38c6e2b535e32c84edfed334a859192da58
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/localstore/FileSystemResourceManager.java b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/localstore/FileSystemResourceManager.java
index efbf1c2..3c3cc74 100644
--- a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/localstore/FileSystemResourceManager.java
+++ b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/localstore/FileSystemResourceManager.java
@@ -21,6 +21,7 @@
 import java.util.*;
 import org.eclipse.core.filesystem.*;
 import org.eclipse.core.filesystem.URIUtil;
+import org.eclipse.core.internal.refresh.RefreshManager;
 import org.eclipse.core.internal.resources.*;
 import org.eclipse.core.internal.resources.File;
 import org.eclipse.core.internal.utils.*;
@@ -138,8 +139,13 @@
 	 * @param target
 	 */
 	private void asyncRefresh(IResource target) {
-		if (lightweightAutoRefreshEnabled)
-			workspace.getRefreshManager().refresh(target);
+		if (lightweightAutoRefreshEnabled) {
+			RefreshManager refreshManager = workspace.getRefreshManager();
+			// refreshManager can be null during shutdown
+			if (refreshManager != null) {
+				refreshManager.refresh(target);
+			}
+		}
 	}
 
 	private void findLinkedResourcesPaths(URI inputLocation, final ArrayList<IPath> results) throws CoreException {