diff options
Diffstat (limited to 'protocols/ICQ-WIM/src/utils.cpp')
-rw-r--r-- | protocols/ICQ-WIM/src/utils.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/protocols/ICQ-WIM/src/utils.cpp b/protocols/ICQ-WIM/src/utils.cpp index e0c39c27a6..6af29df66d 100644 --- a/protocols/ICQ-WIM/src/utils.cpp +++ b/protocols/ICQ-WIM/src/utils.cpp @@ -94,7 +94,7 @@ MCONTACT CIcqProto::CreateContact(const CMStringW &wszId, bool bTemporary) {
auto *pUser = FindUser(wszId);
if (pUser != nullptr)
- return pUser->m_hContact;
+ return GetRealContact(pUser);
MCONTACT hContact = db_add_contact();
setWString(hContact, DB_KEY_ID, wszId);
@@ -149,6 +149,11 @@ void CIcqProto::Json2string(MCONTACT hContact, const JSONNode &node, const char /////////////////////////////////////////////////////////////////////////////////////////
+MCONTACT CIcqProto::GetRealContact(IcqUser *pUser)
+{
+ return (pUser->m_hContact == 0) ? m_hFavContact : pUser->m_hContact;
+}
+
CMStringW CIcqProto::GetUserId(MCONTACT hContact)
{
return getMStringW(hContact, DB_KEY_ID);
|