diff --git a/coreapi/friend.c b/coreapi/friend.c index 16bf62912..03f0f05ae 100644 --- a/coreapi/friend.c +++ b/coreapi/friend.c @@ -744,8 +744,6 @@ void linphone_friend_edit(LinphoneFriend *fr) { void linphone_friend_done(LinphoneFriend *fr) { ms_return_if_fail(fr); if (!fr->lc) return; - linphone_friend_apply(fr, fr->lc); - linphone_friend_save(fr, fr->lc); if (fr && linphone_core_vcard_supported() && fr->vcard) { if (linphone_vcard_compare_md5_hash(fr->vcard) != 0) { @@ -756,6 +754,8 @@ void linphone_friend_done(LinphoneFriend *fr) { } } } + linphone_friend_apply(fr, fr->lc); + linphone_friend_save(fr, fr->lc); } #if __clang__ || ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) diff --git a/tester/presence_tester.c b/tester/presence_tester.c index 823dd19e6..24dd44052 100644 --- a/tester/presence_tester.c +++ b/tester/presence_tester.c @@ -545,7 +545,9 @@ static void simple_subscribe_with_friend_from_rc(void) { if (bctbx_list_size(linphone_core_get_friend_list(marie->lc))>0) { pauline_as_friend = (LinphoneFriend*)linphone_core_get_friend_list(marie->lc)->data; + linphone_friend_edit(pauline_as_friend); linphone_friend_set_address(pauline_as_friend, pauline->identity); /*hack to update addr with port number*/ + linphone_friend_done(pauline_as_friend); } BC_ASSERT_TRUE (wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphonePresenceActivityOnline,1));