Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2015-05-29 00:27:25 -0400
committerEugene Tarassov2015-05-29 00:27:25 -0400
commitb99a5960cb0aea2b84bd38a40a70e739212d8f3e (patch)
treee2018144b9be35ce1a285f48622b09a4216bb277 /plugins
parent7d37249d4d9f562b7073848d5e24c645d5710ed6 (diff)
downloadorg.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.java20
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);

Back to the top