diff options
author | Timo Sirainen <cras@irssi.org> | 2002-01-20 11:37:21 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2002-01-20 11:37:21 +0000 |
commit | 0b12f76d1f429fcc1d6818ec1ceb6e1e7224b84e (patch) | |
tree | eb6f1e8c43e3d3b38091fb5bca670b4aa7e6ba12 /src/irc/flood | |
parent | bba5603903722221bd2f319835e924baf74b2b30 (diff) | |
download | irssi-0b12f76d1f429fcc1d6818ec1ceb6e1e7224b84e.zip |
Every time a /SET was changed, it leaked a signal_add() which would cause
very buggy behaviour at least related to flood checking.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2326 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc/flood')
-rw-r--r-- | src/irc/flood/flood.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/irc/flood/flood.c b/src/irc/flood/flood.c index d5339d4f..de7d292c 100644 --- a/src/irc/flood/flood.c +++ b/src/irc/flood/flood.c @@ -285,16 +285,19 @@ static void read_settings(void) flood_timecheck = settings_get_int("flood_timecheck"); flood_max_msgs = settings_get_int("flood_max_msgs"); - if (flood_tag != -1) { - g_source_remove(flood_tag); - flood_tag = -1; - } - if (flood_timecheck > 0 && flood_max_msgs > 0) { flood_tag = g_timeout_add(500, (GSourceFunc) flood_timeout, NULL); + signal_add("event privmsg", (SIGNAL_FUNC) flood_privmsg); signal_add("event notice", (SIGNAL_FUNC) flood_notice); signal_add("ctcp msg", (SIGNAL_FUNC) flood_ctcp); + } else if (flood_tag != -1) { + g_source_remove(flood_tag); + flood_tag = -1; + + signal_remove("event privmsg", (SIGNAL_FUNC) flood_privmsg); + signal_remove("event notice", (SIGNAL_FUNC) flood_notice); + signal_remove("ctcp msg", (SIGNAL_FUNC) flood_ctcp); } } |