From d45ff124e3912dd2734856c91f5c88c3eb6b9f9f Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Fri, 20 Jan 2017 01:45:39 -0500 Subject: [PATCH] Bug 510722 - Handle a null AST in ExpandSelectionJob and ControlFlowGraphView Change-Id: Iafd1b9a32833fb67554902d13955023c149a132e --- .../cdt/codan/ui/cfgview/views/ControlFlowGraphView.java | 3 +++ .../cdt/internal/ui/actions/StructureSelectionAction.java | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) 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 11d393da2cd..db2ec904dea 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 @@ public class ControlFlowGraphView extends ViewPart { 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 13f1aca43d9..a0c40bef3af 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 @@ public abstract class StructureSelectionAction extends TextEditorAction { @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; } }