diff options
author | TingPing <tngpng@gmail.com> | 2013-03-14 13:29:53 -0700 |
---|---|---|
committer | TingPing <tngpng@gmail.com> | 2013-03-14 13:29:53 -0700 |
commit | 8cd2921387de2986c17d341e420c083bef4838f8 (patch) | |
tree | d83ecbd9514f9800e76c85ed6c6f7864acb46a49 /src/common/inbound.c | |
parent | cd2f775fe47ee91262e17c7299e0e6b135caa86b (diff) | |
parent | 1d41eda1015301afd11483dd1271e5af71a37676 (diff) |
Merge pull request #444 from TingPing/noticepos2
Add irc_notice_pos setting
Diffstat (limited to 'src/common/inbound.c')
-rw-r--r-- | src/common/inbound.c | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/src/common/inbound.c b/src/common/inbound.c index d5c47b8f..898dcf4b 100644 --- a/src/common/inbound.c +++ b/src/common/inbound.c @@ -867,7 +867,27 @@ inbound_notice (server *serv, char *to, char *nick, char *msg, char *ip, int id) if (!sess) { ptr = 0; - if (prefs.hex_gui_tab_notices) + if (prefs.hex_irc_notice_pos == 0) + { + /* paranoia check */ + if (msg[0] == '[' && (!serv->have_idmsg || id)) + { + /* guess where chanserv meant to post this -sigh- */ + if (!g_ascii_strcasecmp (nick, "ChanServ") && !find_dialog (serv, nick)) + { + char *dest = strdup (msg + 1); + char *end = strchr (dest, ']'); + if (end) + { + *end = 0; + sess = find_channel (serv, dest); + } + free (dest); + } + } + if (!sess) + sess = find_session_from_nick (nick, serv); + } else if (prefs.hex_irc_notice_pos == 1) { int stype = server_notice ? SESS_SNOTICES : SESS_NOTICES; sess = find_session_from_type (stype, serv); @@ -888,25 +908,9 @@ inbound_notice (server *serv, char *to, char *nick, char *msg, char *ip, int id) msg += 14; } else { - /* paranoia check */ - if (msg[0] == '[' && (!serv->have_idmsg || id)) - { - /* guess where chanserv meant to post this -sigh- */ - if (!g_ascii_strcasecmp (nick, "ChanServ") && !find_dialog (serv, nick)) - { - char *dest = strdup (msg + 1); - char *end = strchr (dest, ']'); - if (end) - { - *end = 0; - sess = find_channel (serv, dest); - } - free (dest); - } - } - if (!sess) - sess = find_session_from_nick (nick, serv); + sess = serv->front_session; } + if (!sess) { if (server_notice) |