diff options
Diffstat (limited to 'protocols/Facebook/src/server.cpp')
-rw-r--r-- | protocols/Facebook/src/server.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/protocols/Facebook/src/server.cpp b/protocols/Facebook/src/server.cpp index 4106e4781c..deca30a243 100644 --- a/protocols/Facebook/src/server.cpp +++ b/protocols/Facebook/src/server.cpp @@ -145,9 +145,17 @@ int FacebookProto::RefreshContacts() MCONTACT hContact; if (id != m_uid) { + bool bIsFriend = n["friendship_status"].as_mstring() == L"ARE_FRIENDS"; + auto *pUser = FindUser(id); - if (pUser == nullptr) + if (pUser == nullptr) { + if (!bIsFriend) + continue; pUser = AddContact(wszId, false); + } + else if (!bIsFriend) + Contact_RemoveFromList(pUser->hContact); // adios! + hContact = pUser->hContact; } else hContact = 0; |