diff options
author | Marc Khouzam | 2014-07-04 17:33:17 +0000 |
---|---|---|
committer | Marc Khouzam | 2014-07-07 14:22:39 +0000 |
commit | bb3fd559c9d81b929adc4080b3bcab0f7781a77e (patch) | |
tree | 91ec7c4e4c5d88aec5712ed88e43b5fa570cb378 /dsf | |
parent | 875e21efb09bf13ce4c04e894e906a44cd9e11d5 (diff) | |
download | org.eclipse.cdt-bb3fd559c9d81b929adc4080b3bcab0f7781a77e.tar.gz org.eclipse.cdt-bb3fd559c9d81b929adc4080b3bcab0f7781a77e.tar.xz org.eclipse.cdt-bb3fd559c9d81b929adc4080b3bcab0f7781a77e.zip |
Bug 344739 - RejectedExecutionException when terminating a PDA launch
Change-Id: I28cdfcd9aef6c7ece39c29b82459825698dc71bc
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/29488
Diffstat (limited to 'dsf')
2 files changed, 9 insertions, 1 deletions
diff --git a/dsf/org.eclipse.cdt.examples.dsf.pda.ui/src/org/eclipse/cdt/examples/dsf/pda/ui/PDAAdapterFactory.java b/dsf/org.eclipse.cdt.examples.dsf.pda.ui/src/org/eclipse/cdt/examples/dsf/pda/ui/PDAAdapterFactory.java index 4bd0b575f82..d78413542e8 100644 --- a/dsf/org.eclipse.cdt.examples.dsf.pda.ui/src/org/eclipse/cdt/examples/dsf/pda/ui/PDAAdapterFactory.java +++ b/dsf/org.eclipse.cdt.examples.dsf.pda.ui/src/org/eclipse/cdt/examples/dsf/pda/ui/PDAAdapterFactory.java @@ -48,6 +48,7 @@ public class PDAAdapterFactory implements IAdapterFactory if (session == null) return null; SessionAdapterSet adapterSet = PDAUIPlugin.getDefault().getAdapterSet(launch); + if (adapterSet == null) return null; // Returns the adapter type for the launch object. if (adapterType.equals(IElementContentProvider.class)) return adapterSet.fViewModelAdapter; diff --git a/dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDALaunch.java b/dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDALaunch.java index 5af41839c3e..b15042d4972 100644 --- a/dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDALaunch.java +++ b/dsf/org.eclipse.cdt.examples.dsf.pda/src/org/eclipse/cdt/examples/dsf/pda/launch/PDALaunch.java @@ -245,7 +245,6 @@ implements ITerminate DsfSession.endSession(fSession); // endSession takes a full dispatch to distribute the // session-ended event, finish step only after the dispatch. - fExecutor.shutdown(); fireTerminate(); rm.setStatus(getStatus()); @@ -262,4 +261,12 @@ implements ITerminate Platform.getAdapterManager().loadAdapter(this, adapter.getName()); return super.getAdapter(adapter); } + + @Override + public void launchRemoved(ILaunch launch) { + if (this.equals(launch)) { + fExecutor.shutdown(); + } + super.launchRemoved(launch); + } } |