summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--protocols/Facebook/src/server.cpp10
-rw-r--r--protocols/Facebook/src/version.h2
2 files changed, 10 insertions, 2 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;
diff --git a/protocols/Facebook/src/version.h b/protocols/Facebook/src/version.h
index 8a4aff26a6..e9df1063b4 100644
--- a/protocols/Facebook/src/version.h
+++ b/protocols/Facebook/src/version.h
@@ -1,7 +1,7 @@
#define __MAJOR_VERSION 0
#define __MINOR_VERSION 1
#define __RELEASE_NUM 0
-#define __BUILD_NUM 6
+#define __BUILD_NUM 7
#include <stdver.h>