summaryrefslogtreecommitdiff
path: root/protocols/Facebook/src/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Facebook/src/server.cpp')
-rw-r--r--protocols/Facebook/src/server.cpp10
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;