summaryrefslogtreecommitdiff
path: root/src/plugins/irc/irc-channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/irc/irc-channel.c')
-rw-r--r--src/plugins/irc/irc-channel.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/irc/irc-channel.c b/src/plugins/irc/irc-channel.c
index ab24038a0..89c7cd37d 100644
--- a/src/plugins/irc/irc-channel.c
+++ b/src/plugins/irc/irc-channel.c
@@ -1094,8 +1094,8 @@ void
irc_channel_join_smart_filtered_unmask (struct t_irc_channel *channel,
const char *nick)
{
- int i, unmask_delay, length_tags, nick_found, join, nick_changed;
- int smart_filtered, remove_smart_filter;
+ int i, unmask_delay, length_tags, nick_found, join, chghost;
+ int nick_changed, smart_filtered, remove_smart_filter;
time_t *ptr_time, date_min;
struct t_hdata *hdata_line, *hdata_line_data;
struct t_gui_line *own_lines;
@@ -1184,6 +1184,8 @@ irc_channel_join_smart_filtered_unmask (struct t_irc_channel *channel,
}
else if (strcmp (tags[i], "irc_join") == 0)
join = 1;
+ else if (strcmp (tags[i], "irc_chghost") == 0)
+ chghost = 1;
else if (strcmp (tags[i], "irc_nick") == 0)
nick_changed = 1;
else if (strncmp (tags[i], "irc_nick1_", 10) == 0)
@@ -1207,7 +1209,7 @@ irc_channel_join_smart_filtered_unmask (struct t_irc_channel *channel,
break;
remove_smart_filter = 1;
}
- else if (nick_found && join && smart_filtered)
+ else if (nick_found && (join || chghost) && smart_filtered)
{
remove_smart_filter = 1;
}