diff options
author | rsuen | 2009-05-01 14:18:22 +0000 |
---|---|---|
committer | rsuen | 2009-05-01 14:18:22 +0000 |
commit | e2bb3b0ea0cc2b679492737235c1dfeb9fc16950 (patch) | |
tree | 2d3af42833a0a02a06fc885fda3293a58e2e654f /providers/bundles/org.eclipse.ecf.provider.irc.ui | |
parent | 33243939b28cca6d6471b7c68d8701934ee55495 (diff) | |
download | org.eclipse.ecf-e2bb3b0ea0cc2b679492737235c1dfeb9fc16950.tar.gz org.eclipse.ecf-e2bb3b0ea0cc2b679492737235c1dfeb9fc16950.tar.xz org.eclipse.ecf-e2bb3b0ea0cc2b679492737235c1dfeb9fc16950.zip |
Bug 274613 Wizard handling of IRC IDs fundamentally wrong due to special chatroom handling code
Diffstat (limited to 'providers/bundles/org.eclipse.ecf.provider.irc.ui')
-rw-r--r-- | providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java b/providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java index a5a25bd6e..68e4d582e 100644 --- a/providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java +++ b/providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizard.java @@ -16,6 +16,7 @@ import org.eclipse.ecf.core.identity.*; import org.eclipse.ecf.core.security.ConnectContextFactory; import org.eclipse.ecf.core.security.IConnectContext; import org.eclipse.ecf.internal.irc.ui.*; +import org.eclipse.ecf.internal.provider.irc.identity.IRCID; import org.eclipse.ecf.presence.chatroom.IChatRoomManager; import org.eclipse.ecf.ui.IConnectWizard; import org.eclipse.ecf.ui.actions.AsynchContainerConnectAction; @@ -106,7 +107,18 @@ public final class IRCConnectWizard extends Wizard implements IConnectWizard, IN // If it's not already connected, then we connect this new container if (!ui.isContainerConnected()) { page.saveComboItems(); - new AsynchContainerConnectAction(container, targetID, connectContext, null, new Runnable() { + + // bug 274613, we need to remove the extra autojoin channel bits + IRCID id = (IRCID) targetID; + // start with user, then host, then port, abc@irc.freenode.net:6667 + StringBuffer buffer = new StringBuffer(id.getUsername()); + buffer.append('@').append(id.getHost()); + buffer.append(':').append(id.getPort()); + // create a truncated ID instance for the container to connect to + id = (IRCID) container.getConnectNamespace().createInstance( + new Object[] { buffer.toString() }); + + new AsynchContainerConnectAction(container, id, connectContext, null, new Runnable() { public void run() { cachePassword(page.getPasswordKeyFromUserName(connectID), password); } |