diff options
-rw-r--r-- | target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java index 1b316f3b4..64ded3e49 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java @@ -102,7 +102,17 @@ public class UIPlugin extends AbstractUIPlugin { if (proceedShutdown || forced) { // Terminate the scanner final ILocatorModel model = Model.getModel(true); - if (model != null) model.getScanner().terminate(); + if (model != null) { + Runnable runnable = new Runnable() { + @Override + public void run() { + model.getScanner().terminate(); + } + }; + + Assert.isTrue(!Protocol.isDispatchThread()); + Protocol.invokeAndWait(runnable); + } // Disconnect all connected connections via the stepper service if (model != null) { |