diff options
Diffstat (limited to 'protocols/ICQ-WIM/src/server.cpp')
-rw-r--r-- | protocols/ICQ-WIM/src/server.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/protocols/ICQ-WIM/src/server.cpp b/protocols/ICQ-WIM/src/server.cpp index 9d50ee6d9f..8ba7cb4aa3 100644 --- a/protocols/ICQ-WIM/src/server.cpp +++ b/protocols/ICQ-WIM/src/server.cpp @@ -305,10 +305,18 @@ MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact, boo return si->hContact; } + bool bIgnored = !m_isMra && buddy["userType"].as_string() != "icq"; if (hContact == INVALID_CONTACT_ID) { + if (bIgnored) + return INVALID_CONTACT_ID; + hContact = CreateContact(wszId, false); FindContactByUIN(wszId)->m_bInList = true; } + else if (bIgnored) { + db_delete_contact(hContact); + return INVALID_CONTACT_ID; + } CMStringA szVer; bool bVersionDetected = false, bSecureIM = false; |