From d2fa899c8365df097bb7a59d01b80b07be390f3d Mon Sep 17 00:00:00 2001 From: Ken Ryall Date: Wed, 26 May 2010 22:30:00 +0000 Subject: [PATCH] Bug 314557 - No error dialog when problems occur opening a memory monitor on a variable --- .../ui/viewmodel/actions/DsfViewMemoryHandler.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/DsfViewMemoryHandler.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/DsfViewMemoryHandler.java index be41e27b061..1d4d02cc420 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/DsfViewMemoryHandler.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/DsfViewMemoryHandler.java @@ -141,9 +141,8 @@ public class DsfViewMemoryHandler extends AbstractHandler { addDefaultRenderings(memBlock, memRendSite); } - private void showExpressionInMemoryView(VariableExpressionVMC context, IExpressionDMData exprData, + private IStatus showExpressionInMemoryView(VariableExpressionVMC context, IExpressionDMData exprData, IMemoryRenderingSite memRendSite) { - try { BasicType type = exprData.getBasicType(); String exprString; if (type == BasicType.array || type == BasicType.pointer) { @@ -152,17 +151,19 @@ public class DsfViewMemoryHandler extends AbstractHandler { else { exprString = "&(" + context.getExpression() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ } + try { IDMContext dmc = context.getDMContext(); IMemoryBlockRetrieval retrieval = (IMemoryBlockRetrieval) context.getAdapter(IMemoryBlockRetrieval.class); if (retrieval == null && context instanceof IDebugElement) retrieval = ((IDebugElement)context).getDebugTarget(); if (retrieval == null || !(retrieval instanceof DsfMemoryBlockRetrieval)) - return; + return Status.OK_STATUS; DsfMemoryBlockRetrieval dsfRetrieval = (DsfMemoryBlockRetrieval) retrieval; IMemoryBlockExtension memBlock = dsfRetrieval.getExtendedMemoryBlock(exprString, dmc); renderMemoryBlock(memBlock, memRendSite); + return Status.OK_STATUS; } catch (DebugException e) { - DsfUIPlugin.log(e); + return DsfUIPlugin.newErrorStatus(IStatus.OK, "Can't view memory on " + exprString, e); //$NON-NLS-1$ } } @@ -198,8 +199,7 @@ public class DsfViewMemoryHandler extends AbstractHandler { Job job = new Job("View Memory") { //$NON-NLS-1$ @Override protected IStatus run(IProgressMonitor monitor) { - showExpressionInMemoryView(context, exprData, memRendSite); - return Status.OK_STATUS; + return showExpressionInMemoryView(context, exprData, memRendSite); } }; job.setSystem(true);