summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/channel-rec.h1
-rw-r--r--src/core/channels.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/core/channel-rec.h b/src/core/channel-rec.h
index 2ff6a536..f3ec5f8d 100644
--- a/src/core/channel-rec.h
+++ b/src/core/channel-rec.h
@@ -22,6 +22,7 @@ unsigned int synced:1; /* Channel synced - all queries done */
unsigned int joined:1; /* Have we even received JOIN event for this channel? */
unsigned int left:1; /* You just left the channel */
unsigned int kicked:1; /* You just got kicked */
+unsigned int session_rejoin:1; /* This channel was joined with /UPGRADE */
unsigned int destroying:1;
/* Return the information needed to call SERVER_REC->channels_join() for
diff --git a/src/core/channels.c b/src/core/channels.c
index 8dd63ab7..6add0b82 100644
--- a/src/core/channels.c
+++ b/src/core/channels.c
@@ -199,6 +199,9 @@ void channel_send_autocommands(CHANNEL_REC *channel)
g_return_if_fail(IS_CHANNEL(channel));
+ if (channel->session_rejoin)
+ return;
+
rec = channel_setup_find(channel->name, channel->server->connrec->chatnet);
if (rec == NULL || rec->autosendcmd == NULL || !*rec->autosendcmd)
return;