bug 41961 - NPE when displaying the result of an expression
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DisplayAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DisplayAction.java
index 8a442be..3f1fa12 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DisplayAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/DisplayAction.java
@@ -33,7 +33,21 @@
 	/**
 	 * @see EvaluateAction#displayResult(IEvaluationResult)
 	 */
-	protected void displayResult(IEvaluationResult evaluationResult) {
+	protected void displayResult(final IEvaluationResult evaluationResult) {
+		if (evaluationResult.hasErrors()) {
+			final Display display = JDIDebugUIPlugin.getStandardDisplay();
+			display.asyncExec(new Runnable() {
+				public void run() {
+					if (display.isDisposed()) {
+						return;
+					}
+					reportErrors(evaluationResult);
+					evaluationCleanup();
+				}
+			});
+			return;
+		} 		
+		
 		final String snippet= evaluationResult.getSnippet();
 		IJavaValue resultValue= evaluationResult.getValue();
 		try {
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExecuteAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExecuteAction.java
index 1b40846..76bff7d 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExecuteAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExecuteAction.java
@@ -12,8 +12,10 @@
 
 
 import org.eclipse.jdt.debug.eval.IEvaluationResult;
+import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
 import org.eclipse.jdt.internal.debug.ui.display.IDataDisplay;
 import org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IWorkbenchPart;
 
 public class ExecuteAction extends EvaluateAction {
@@ -21,7 +23,19 @@
 	/**
 	 * @see org.eclipse.jdt.internal.debug.ui.actions.EvaluateAction#displayResult(org.eclipse.jdt.debug.eval.IEvaluationResult)
 	 */
-	protected void displayResult(IEvaluationResult result) {
+	protected void displayResult(final IEvaluationResult result) {
+		if (result.hasErrors()) {
+			final Display display = JDIDebugUIPlugin.getStandardDisplay();
+			display.asyncExec(new Runnable() {
+				public void run() {
+					if (display.isDisposed()) {
+						return;
+					}
+					reportErrors(result);
+					evaluationCleanup();
+				}
+			});
+		} 			
 	}
 
 	/**