1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00

revert netsplit print optimisation

this reverts part of 

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
src/fe-common/irc

View File

@ -253,15 +253,12 @@ static void sig_print_starting(TEXT_DEST_REC *dest)
if (!IS_IRC_SERVER(dest->server)) if (!IS_IRC_SERVER(dest->server))
return; return;
if (!(dest->level & MSGLEVEL_PUBLIC))
return;
if (!server_ischannel(dest->server, dest->target)) if (!server_ischannel(dest->server, dest->target))
return; return;
rec = netjoin_find_server(IRC_SERVER(dest->server)); rec = netjoin_find_server(IRC_SERVER(dest->server));
if (rec != NULL && rec->netjoins != NULL) if (rec != NULL && rec->netjoins != NULL)
print_netjoins(rec, dest->target); print_netjoins(rec, NULL);
} }
static int sig_check_netjoins(void) 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); 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; TEMP_SPLIT_REC temp;
GSList *servers; GSList *servers;
@ -218,7 +218,7 @@ static void print_splits(IRC_SERVER_REC *server, const char *channel)
g_hash_table_foreach(server->splits, g_hash_table_foreach(server->splits,
(GHFunc) get_server_splits, &temp); (GHFunc) get_server_splits, &temp);
print_server_splits(server, &temp, channel); print_server_splits(server, &temp, filter_channel);
g_slist_foreach(temp.channels, g_slist_foreach(temp.channels,
(GFunc) temp_split_chan_free, NULL); (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)) if (!IS_IRC_SERVER(dest->server))
return; return;
if (!(dest->level & MSGLEVEL_PUBLIC))
return;
if (!server_ischannel(dest->server, dest->target)) if (!server_ischannel(dest->server, dest->target))
return; return;
rec = IRC_SERVER(dest->server); rec = IRC_SERVER(dest->server);
if (rec->split_servers != NULL) if (rec->split_servers != NULL)
print_splits(rec, dest->target); print_splits(rec, NULL);
} }
static int sig_check_splits(void) static int sig_check_splits(void)