Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java
index 6adc8c582..52606da5e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java
@@ -177,6 +177,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IAdaptable,
protected IStatus run(IProgressMonitor monitor) {
fMonitor = monitor;
Iterator iterator = fElements.iterator();
+ String message = null;
while (iterator.hasNext()) {
if (monitor.isCanceled()) {
break;
@@ -192,11 +193,14 @@ public class DefaultDetailPane extends AbstractDetailPane implements IAdaptable,
} else if (element instanceof IExpression) {
val = ((IExpression)element).getValue();
}
+ // When selecting a index partition, clear the pane
if (val instanceof IndexedValuePartition) {
- // Clear the detail pane
detailComputed(null, ""); //$NON-NLS-1$
val = null;
}
+ if (element instanceof String) {
+ message = (String) element;
+ }
if (val != null && !monitor.isCanceled()) {
fModel.computeDetail(val, this);
synchronized (this) {
@@ -212,6 +216,15 @@ public class DefaultDetailPane extends AbstractDetailPane implements IAdaptable,
}
}
}
+ // If no details were computed for the selected variable, clear the pane
+ // or use the message, if the variable was a java.lang.String
+ if (!fComputed){
+ if (message == null) {
+ detailComputed(null,""); //$NON-NLS-1$
+ } else {
+ detailComputed(null, message);
+ }
+ }
return Status.OK_STATUS;
}

Back to the top