diff options
author | Eugene Tarassov | 2015-05-29 04:27:25 +0000 |
---|---|---|
committer | Eugene Tarassov | 2015-05-29 04:27:25 +0000 |
commit | b99a5960cb0aea2b84bd38a40a70e739212d8f3e (patch) | |
tree | e2018144b9be35ce1a285f48622b09a4216bb277 /plugins | |
parent | 7d37249d4d9f562b7073848d5e24c645d5710ed6 (diff) | |
download | org.eclipse.tcf-b99a5960cb0aea2b84bd38a40a70e739212d8f3e.tar.gz org.eclipse.tcf-b99a5960cb0aea2b84bd38a40a70e739212d8f3e.tar.xz org.eclipse.tcf-b99a5960cb0aea2b84bd38a40a70e739212d8f3e.zip |
TCF Debugger: fixed NPE when TCFMemoryBlockRetrieval.MemoryBlock is disposed
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFMemoryBlockRetrieval.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFMemoryBlockRetrieval.java b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFMemoryBlockRetrieval.java index 57dec4626..ae950a886 100644 --- a/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFMemoryBlockRetrieval.java +++ b/plugins/org.eclipse.tcf.debug.ui/src/org/eclipse/tcf/internal/debug/ui/model/TCFMemoryBlockRetrieval.java @@ -138,15 +138,17 @@ class TCFMemoryBlockRetrieval implements IMemoryBlockRetrievalExtension { @Override public void doneCreate(IToken token, Exception error, IExpressions.Expression context) { if (disposed) { - IExpressions exps = channel.getRemoteService(IExpressions.class); - exps.dispose(context.getID(), new IExpressions.DoneDispose() { - @Override - public void doneDispose(IToken token, Exception error) { - if (error == null) return; - if (channel.getState() != IChannel.STATE_OPEN) return; - Activator.log("Error disposing remote expression evaluator", error); - } - }); + if (context != null) { + IExpressions exps = channel.getRemoteService(IExpressions.class); + exps.dispose(context.getID(), new IExpressions.DoneDispose() { + @Override + public void doneDispose(IToken token, Exception error) { + if (error == null) return; + if (channel.getState() != IChannel.STATE_OPEN) return; + Activator.log("Error disposing remote expression evaluator", error); + } + }); + } return; } set(token, error, context); |