From 226a428dffb485c75ff31770d2c2098bd6ce437a Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Fri, 18 Dec 2009 15:34:26 +0000 Subject: [PATCH] [298104] Protect agains possible NPE --- .../ui/disassembly/DisassemblyPart.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java index 2d1fa847285..00dc58925ae 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java @@ -2145,10 +2145,10 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem stack.getFrameData(fTargetFrameContext, new DataRequestMonitor(executor, null) { @Override protected void handleCompleted() { - if (!isCanceled()) { - fUpdatePending= false; - final IFrameDMData frameData= getData(); - fTargetFrameData= frameData; + fUpdatePending= false; + IFrameDMData frameData= getData(); + fTargetFrameData= frameData; + if (!isCanceled() && frameData != null) { final IAddress address= frameData.getAddress(); final BigInteger addressValue= address.getValue(); if (DEBUG) System.out.println("retrieveFrameAddress done "+getAddressText(addressValue)); //$NON-NLS-1$ @@ -2165,6 +2165,15 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem } }); + } else { + final IStatus status= getStatus(); + if (status != null && !status.isOK()) { + asyncExec(new Runnable() { + public void run() { + ErrorDialog.openError(getSite().getShell(), "Error", null, getStatus()); //$NON-NLS-1$ + } + }); + } } } });