1
0
mirror of https://github.com/irssi/irssi.git synced 2024-11-03 04:27:19 -05:00

revert netsplit print optimisation

this reverts part of #465

unfortunately we need to further refine the initial patch

 - when filtering by channel, the whole split is cleaned up nevertheless
 - something similar happens for the netjoins
 - furthermore, we cannot wait only for PUBLIC msgs, j/p/q are equivalently relevant for temporal integrity
This commit is contained in:
ailin-nemui 2018-01-10 20:08:15 +01:00
parent b3b68a4ae7
commit fa8508404f
2 changed files with 4 additions and 10 deletions

View File

@ -253,15 +253,12 @@ static void sig_print_starting(TEXT_DEST_REC *dest)
if (!IS_IRC_SERVER(dest->server))
return;
if (!(dest->level & MSGLEVEL_PUBLIC))
return;
if (!server_ischannel(dest->server, dest->target))
return;
rec = netjoin_find_server(IRC_SERVER(dest->server));
if (rec != NULL && rec->netjoins != NULL)
print_netjoins(rec, dest->target);
print_netjoins(rec, NULL);
}
static int sig_check_netjoins(void)

View File

@ -199,7 +199,7 @@ static void temp_split_chan_free(TEMP_SPLIT_CHAN_REC *rec)
g_free(rec);
}
static void print_splits(IRC_SERVER_REC *server, const char *channel)
static void print_splits(IRC_SERVER_REC *server, const char *filter_channel)
{
TEMP_SPLIT_REC temp;
GSList *servers;
@ -218,7 +218,7 @@ static void print_splits(IRC_SERVER_REC *server, const char *channel)
g_hash_table_foreach(server->splits,
(GHFunc) get_server_splits, &temp);
print_server_splits(server, &temp, channel);
print_server_splits(server, &temp, filter_channel);
g_slist_foreach(temp.channels,
(GFunc) temp_split_chan_free, NULL);
@ -255,15 +255,12 @@ static void sig_print_starting(TEXT_DEST_REC *dest)
if (!IS_IRC_SERVER(dest->server))
return;
if (!(dest->level & MSGLEVEL_PUBLIC))
return;
if (!server_ischannel(dest->server, dest->target))
return;
rec = IRC_SERVER(dest->server);
if (rec->split_servers != NULL)
print_splits(rec, dest->target);
print_splits(rec, NULL);
}
static int sig_check_splits(void)