Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Stieber2012-02-19 16:45:27 +0000
committerUwe Stieber2012-02-19 16:45:27 +0000
commitb953bce70507af630a13163d6b82868f9b5e7711 (patch)
treede7baf9edefb6b9d3ae816ce9cb22506bea5e4cf /target_explorer/plugins/org.eclipse.tcf.te.tcf.services.contexts
parent71bd059af3fb739c3a2ba6859e5b6a94243ec905 (diff)
downloadorg.eclipse.tcf-b953bce70507af630a13163d6b82868f9b5e7711.tar.gz
org.eclipse.tcf-b953bce70507af630a13163d6b82868f9b5e7711.tar.xz
org.eclipse.tcf-b953bce70507af630a13163d6b82868f9b5e7711.zip
Target Explorer: Continued launch context selector work
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.services.contexts')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.services.contexts/src/org/eclipse/tcf/te/tcf/services/contexts/internal/AdapterFactory.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.services.contexts/src/org/eclipse/tcf/te/tcf/services/contexts/internal/AdapterFactory.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.services.contexts/src/org/eclipse/tcf/te/tcf/services/contexts/internal/AdapterFactory.java
index b6f8770d3..d0e1ac86e 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.services.contexts/src/org/eclipse/tcf/te/tcf/services/contexts/internal/AdapterFactory.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.services.contexts/src/org/eclipse/tcf/te/tcf/services/contexts/internal/AdapterFactory.java
@@ -14,7 +14,9 @@ import java.util.Map;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.tcf.protocol.IPeer;
+import org.eclipse.tcf.protocol.Protocol;
import org.eclipse.tcf.te.runtime.interfaces.IDisposable;
+import org.eclipse.tcf.te.tcf.locator.interfaces.IModelListener;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.ILocatorModel;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
import org.eclipse.tcf.te.tcf.locator.listener.ModelAdapter;
@@ -36,7 +38,7 @@ public class AdapterFactory implements IAdapterFactory {
* Constructor.
*/
public AdapterFactory() {
- Model.getModel().addListener(new ModelAdapter() {
+ final IModelListener listener = new ModelAdapter() {
/* (non-Javadoc)
* @see org.eclipse.tcf.te.tcf.locator.listener.ModelAdapter#locatorModelChanged(org.eclipse.tcf.te.tcf.locator.interfaces.nodes.ILocatorModel, org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel, boolean)
*/
@@ -48,7 +50,17 @@ public class AdapterFactory implements IAdapterFactory {
if (adapter instanceof IDisposable) ((IDisposable)adapter).dispose();
}
}
- });
+ };
+
+ Runnable runnable = new Runnable() {
+ @Override
+ public void run() {
+ Model.getModel().addListener(listener);
+ }
+ };
+
+ if (Protocol.isDispatchThread()) runnable.run();
+ else Protocol.invokeAndWait(runnable);
}
/* (non-Javadoc)

Back to the top