summaryrefslogtreecommitdiff
path: root/src/irc/core/ctcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/core/ctcp.c')
-rw-r--r--src/irc/core/ctcp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/irc/core/ctcp.c b/src/irc/core/ctcp.c
index 31768088..067e9aef 100644
--- a/src/irc/core/ctcp.c
+++ b/src/irc/core/ctcp.c
@@ -156,6 +156,7 @@ static void event_privmsg(const char *data, IRC_SERVER_REC *server, const char *
if (ptr != NULL) *ptr = '\0';
signal_emit("ctcp msg", 5, msg, server, nick, addr, target);
+ signal_stop();
}
g_free(params);
@@ -167,7 +168,7 @@ static void event_notice(const char *data, IRC_SERVER_REC *server, const char *n
g_return_if_fail(data != NULL);
- params = event_get_params(data, 2, &target, &msg); /* Channel or nick name */
+ params = event_get_params(data, 2, &target, &msg);
/* handle only ctcp replies */
if (*msg == 1) {
@@ -175,6 +176,7 @@ static void event_notice(const char *data, IRC_SERVER_REC *server, const char *n
if (ptr != NULL) *ptr = '\0';
signal_emit("ctcp reply", 5, msg, server, nick, addr, target);
+ signal_stop();
}
g_free(params);
@@ -193,8 +195,8 @@ void ctcp_init(void)
settings_add_int("flood", "max_ctcp_queue", 5);
signal_add("server disconnected", (SIGNAL_FUNC) ctcp_deinit_server);
- signal_add("event privmsg", (SIGNAL_FUNC) event_privmsg);
- signal_add("event notice", (SIGNAL_FUNC) event_notice);
+ signal_add_first("event privmsg", (SIGNAL_FUNC) event_privmsg);
+ signal_add_first("event notice", (SIGNAL_FUNC) event_notice);
signal_add("ctcp msg", (SIGNAL_FUNC) ctcp_msg);
signal_add("ctcp reply", (SIGNAL_FUNC) ctcp_reply);
signal_add("ctcp msg ping", (SIGNAL_FUNC) ctcp_ping);