diff options
Diffstat (limited to 'src/plugins/irc/irc-channel.c')
-rw-r--r-- | src/plugins/irc/irc-channel.c | 8 |
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; } |