summaryrefslogtreecommitdiff
path: root/src/irc
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-07-31 22:10:18 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-07-31 22:10:18 +0000
commitef3cb01e6fd2e19b7bfa717ffa0d1f6d9a6b7078 (patch)
treeac559077f2ab7149d13fbd0b9b8f18fbdf34824c /src/irc
parent3c594edf07486dcbdab10f06aae108e9e628bb6f (diff)
downloadirssi-ef3cb01e6fd2e19b7bfa717ffa0d1f6d9a6b7078.zip
Check that we're not already joined the channel when receiving JOIN
event, just to fix an irssi proxy bug.. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@565 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc')
-rw-r--r--src/irc/core/channel-events.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/irc/core/channel-events.c b/src/irc/core/channel-events.c
index 42361aa1..26603cd4 100644
--- a/src/irc/core/channel-events.c
+++ b/src/irc/core/channel-events.c
@@ -159,6 +159,14 @@ static void event_join(const char *data, IRC_SERVER_REC *server, const char *nic
g_free(shortchan);
}
+ chanrec = channel_find(server, channel);
+ if (chanrec != NULL && chanrec->joined) {
+ /* already joined this channel - this check was added
+ here because of broken irssi proxy :) */
+ g_free(params);
+ return;
+ }
+
chanrec = channel_find_unjoined(server, channel);
if (chanrec == NULL) {
/* didn't get here with /join command.. */