diff options
author | Tobias Schwarz | 2013-05-14 09:00:11 +0000 |
---|---|---|
committer | Tobias Schwarz | 2013-05-14 09:00:11 +0000 |
commit | 03fb42f7b5cd808eca68ea870c0be57c4527ca9f (patch) | |
tree | 4cb2eab083004250518a7f7f9964f08eafc93113 /target_explorer/plugins | |
parent | 2b9e6a912e4600a17c58530a3affc442e08ac5c3 (diff) | |
download | org.eclipse.tcf-03fb42f7b5cd808eca68ea870c0be57c4527ca9f.tar.gz org.eclipse.tcf-03fb42f7b5cd808eca68ea870c0be57c4527ca9f.tar.xz org.eclipse.tcf-03fb42f7b5cd808eca68ea870c0be57c4527ca9f.zip |
Target Explorer: fix events getting lost
Diffstat (limited to 'target_explorer/plugins')
-rw-r--r-- | target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java index 85a4ecea5..be0e83d97 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core/src/org/eclipse/tcf/te/tcf/core/internal/ChannelManager.java @@ -945,9 +945,6 @@ public final class ChannelManager extends PlatformObject implements IChannelMana if (!forceNew) channels.put(id, channel); if (!forceNew) refCounters.put(id, new AtomicInteger(1)); - // Redirect the channel to the next value-add in chain - // Note: If the redirect succeeds, channel.getRemotePeer().getID() will be identical to id. - channel.redirect(nextValueAddPeer.get() != null ? nextValueAddPeer.get().getAttributes() : attrs); // Attach the channel listener to catch open/closed events final IChannel finChannel = channel; channel.addChannelListener(new IChannel.IChannelListener() { @@ -1023,6 +1020,10 @@ public final class ChannelManager extends PlatformObject implements IChannelMana public void congestionLevel(int level) { } }); + + // Redirect the channel to the next value-add in chain + // Note: If the redirect succeeds, channel.getRemotePeer().getID() will be identical to id. + channel.redirect(nextValueAddPeer.get() != null ? nextValueAddPeer.get().getAttributes() : attrs); } else { // Channel is null? Something went terrible wrong. done.doneChainValueAdd(new Exception("Unexpected null return value from IPeer#openChannel()!"), null); //$NON-NLS-1$ |