diff options
author | Uwe Stieber | 2012-02-19 16:45:27 +0000 |
---|---|---|
committer | Uwe Stieber | 2012-02-19 16:45:27 +0000 |
commit | b953bce70507af630a13163d6b82868f9b5e7711 (patch) | |
tree | de7baf9edefb6b9d3ae816ce9cb22506bea5e4cf /target_explorer/plugins/org.eclipse.tcf.te.tcf.services.contexts | |
parent | 71bd059af3fb739c3a2ba6859e5b6a94243ec905 (diff) | |
download | org.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.java | 16 |
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)
|