summaryrefslogtreecommitdiff
path: root/protocols/FacebookRM/src/proto.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/FacebookRM/src/proto.cpp')
-rw-r--r--protocols/FacebookRM/src/proto.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/protocols/FacebookRM/src/proto.cpp b/protocols/FacebookRM/src/proto.cpp
index 02bd8e8d3d..291911d345 100644
--- a/protocols/FacebookRM/src/proto.cpp
+++ b/protocols/FacebookRM/src/proto.cpp
@@ -364,8 +364,10 @@ int FacebookProto::GetInfo(MCONTACT hContact, int)
setByte(hContact, "Gender", fbu.gender);
}
- if (fbu.type == CONTACT_PAGE || fbu.type == CONTACT_FRIEND) {
- if (getByte(hContact, FACEBOOK_KEY_CONTACT_TYPE) != fbu.type) {
+ int oldType = getByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, CONTACT_NONE);
+ // From server we won't get request/approve types, only none, so we don't want to overwrite and lost it in that case
+ if (fbu.type != CONTACT_NONE || (oldType != CONTACT_REQUEST && oldType != CONTACT_APPROVE)) {
+ if (oldType != fbu.type) {
setByte(hContact, FACEBOOK_KEY_CONTACT_TYPE, fbu.type);
}
}