Bug 510722 - Handle a null AST in ExpandSelectionJob and ControlFlowGraphView

Change-Id: Iafd1b9a32833fb67554902d13955023c149a132e
diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/views/ControlFlowGraphView.java b/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/views/ControlFlowGraphView.java
index 11d393d..db2ec90 100644
--- a/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/views/ControlFlowGraphView.java
+++ b/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/views/ControlFlowGraphView.java
@@ -300,6 +300,9 @@
 				Job job = new SharedASTJob("Building Control Flow Grath", tu) {
 					@Override
 					public IStatus runOnAST(ILanguage lang, IASTTranslationUnit ast) throws CoreException {
+						if (ast == null) {
+							return Status.CANCEL_STATUS;
+						}
 						processAst(ast);
 						return Status.OK_STATUS;
 					}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/StructureSelectionAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/StructureSelectionAction.java
index 13f1aca..a0c40be 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/StructureSelectionAction.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/StructureSelectionAction.java
@@ -56,7 +56,10 @@
 
 		@Override
 		public IStatus runOnAST(ILanguage lang, IASTTranslationUnit ast) throws CoreException {
-			newSourceRange = doExpand(ast,currentSourceRange);
+			if (ast == null) {
+				return Status.CANCEL_STATUS;
+			}
+			newSourceRange = doExpand(ast, currentSourceRange);
 			return Status.OK_STATUS;
 		}
 	}