aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn/msn.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/msn/msn.c')
-rw-r--r--protocols/msn/msn.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/protocols/msn/msn.c b/protocols/msn/msn.c
index 4acff23a..c5567a14 100644
--- a/protocols/msn/msn.c
+++ b/protocols/msn/msn.c
@@ -45,7 +45,11 @@ static void msn_init(account_t *acc)
s = set_add(&acc->set, "port", MSN_NS_PORT, set_eval_int, acc);
s->flags |= ACC_SET_OFFLINE_ONLY;
- set_add(&acc->set, "mail_notifications", "false", set_eval_bool, acc);
+ s = set_add(&acc->set, "mail_notifications", "false", set_eval_bool, acc);
+ s->flags |= ACC_SET_OFFLINE_ONLY;
+
+ s = set_add(&acc->set, "notify_handle", NULL, NULL, acc);
+ s->flags |= ACC_SET_OFFLINE_ONLY | SET_NULL_OK;
acc->flags |= ACC_FLAG_AWAY_MESSAGE | ACC_FLAG_STATUS_MESSAGE |
ACC_FLAG_HANDLE_DOMAINS;
@@ -81,6 +85,10 @@ static void msn_login(account_t *acc)
imcb_log(ic, "Connecting");
msn_ns_connect(ic, server,
set_getint(&ic->acc->set, "port"));
+
+ if (set_getbool(&acc->set, "mail_notifications") && set_getstr(&acc->set, "notify_handle")) {
+ imcb_add_buddy(ic, set_getstr(&acc->set, "notify_handle"), NULL);
+ }
}
static void msn_logout(struct im_connection *ic)