diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-01-21 16:23:56 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-01-21 16:23:56 +0000 |
commit | 35d9a1d95f962e2f2dff53b123733ab202376617 (patch) | |
tree | be62d3d83bfd20f88f9c379f1decf8e725d0f8df /pjsip/src/pjsua-lib/pjsua_pres.c | |
parent | f0e1d077860ab17140fd52c54d0ac32015c93ee5 (diff) |
Fixed ticket #68: pjsua account is not completely invalidated
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@892 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_pres.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_pres.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_pres.c b/pjsip/src/pjsua-lib/pjsua_pres.c index f9f87550..6261583e 100644 --- a/pjsip/src/pjsua-lib/pjsua_pres.c +++ b/pjsip/src/pjsua-lib/pjsua_pres.c @@ -732,6 +732,7 @@ void pjsua_pres_delete_acc(int acc_id) uapres = pjsua_var.acc[acc_id].pres_srv_list.next; + /* Notify all subscribers that we're no longer available */ while (uapres != &acc->pres_srv_list) { pjsip_pres_status pres_status; @@ -753,6 +754,11 @@ void pjsua_pres_delete_acc(int acc_id) uapres = uapres->next; } + /* Clear server presence subscription list because account might be reused + * later. */ + pj_list_init(&acc->pres_srv_list); + + /* Terminate presence publication, if any */ if (acc->publish_sess) { acc->online_status = PJ_FALSE; send_publish(acc_id, PJ_FALSE); |