summaryrefslogtreecommitdiff
path: root/src/irc/core
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2001-08-08 17:47:54 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2001-08-08 17:47:54 +0000
commit072a4c774f625a46e65f8ea95f0902aca55286a0 (patch)
tree1f28189ef6bec2d91814a7d8aab6ee8ef9249c7e /src/irc/core
parenta8193b168a642f77132cfe15df68f47cdb529097 (diff)
downloadirssi-072a4c774f625a46e65f8ea95f0902aca55286a0.zip
If we receive INVITE for a channel that is added with /CHANNEL ADD -auto,
join it immediately. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1724 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc/core')
-rw-r--r--src/irc/core/channel-events.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/irc/core/channel-events.c b/src/irc/core/channel-events.c
index 3e9d75e0..92ea4d59 100644
--- a/src/irc/core/channel-events.c
+++ b/src/irc/core/channel-events.c
@@ -21,6 +21,7 @@
#include "module.h"
#include "signals.h"
#include "misc.h"
+#include "channels-setup.h"
#include "irc.h"
#include "irc-channels.h"
@@ -288,6 +289,16 @@ static void event_invite(IRC_SERVER_REC *server, const char *data)
g_return_if_fail(data != NULL);
params = event_get_params(data, 2, NULL, &channel);
+
+ if (irc_channel_find(server, channel) == NULL) {
+ /* check if we're supposed to autojoin this channel */
+ CHANNEL_SETUP_REC *setup;
+
+ setup = channel_setup_find(channel, server->connrec->chatnet);
+ if (setup != NULL && setup->autojoin)
+ server->channels_join(SERVER(server), channel, TRUE);
+ }
+
g_free_not_null(server->last_invite);
server->last_invite = g_strdup(channel);
g_free(params);