diff options
author | George Hazan <ghazan@miranda.im> | 2021-12-16 19:40:00 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2021-12-16 19:40:00 +0300 |
commit | 5d8cbfabaf4e5b3422d9a18b81f053321e86fa61 (patch) | |
tree | bd0935d9599c959d025913ed1a8dac018fdb0a7a /protocols/ICQ-WIM/src/server.cpp | |
parent | b69963685bf883c30cbec927c8fda393df136db8 (diff) |
Fixes #2990 (ICQ: когда клиент собеседника уходит в оффлайн, в моей Миранде он по-прежнему онлайн до тех пор, пока я не переподключусь)
Diffstat (limited to 'protocols/ICQ-WIM/src/server.cpp')
-rw-r--r-- | protocols/ICQ-WIM/src/server.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/protocols/ICQ-WIM/src/server.cpp b/protocols/ICQ-WIM/src/server.cpp index e25272a0af..2b41b5aee7 100644 --- a/protocols/ICQ-WIM/src/server.cpp +++ b/protocols/ICQ-WIM/src/server.cpp @@ -282,7 +282,7 @@ void CIcqProto::MarkAsRead(MCONTACT hContact) ///////////////////////////////////////////////////////////////////////////////////////// -MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact) +MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact, bool bIsPartial) { // user chat? CMStringW wszId(buddy["aimId"].as_mstring()); @@ -357,15 +357,15 @@ MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact) Contact_PutOnList(hContact); } - Json2string(hContact, buddy, "emailId", "Email"); - Json2string(hContact, buddy, "cellNumber", "Cellular"); - Json2string(hContact, buddy, "phoneNumber", "Phone"); - Json2string(hContact, buddy, "workNumber", "CompanyPhone"); + Json2string(hContact, buddy, "emailId", "Email", bIsPartial); + Json2string(hContact, buddy, "cellNumber", "Cellular", bIsPartial); + Json2string(hContact, buddy, "phoneNumber", "Phone", bIsPartial); + Json2string(hContact, buddy, "workNumber", "CompanyPhone", bIsPartial); - Json2int(hContact, buddy, "official", "Official"); - Json2int(hContact, buddy, "onlineTime", DB_KEY_ONLINETS); - Json2int(hContact, buddy, "idleTime", "IdleTS"); - Json2int(hContact, buddy, "memberSince", DB_KEY_MEMBERSINCE); + Json2int(hContact, buddy, "official", "Official", bIsPartial); + Json2int(hContact, buddy, "onlineTime", DB_KEY_ONLINETS, bIsPartial); + Json2int(hContact, buddy, "idleTime", "IdleTS", bIsPartial); + Json2int(hContact, buddy, "memberSince", DB_KEY_MEMBERSINCE, bIsPartial); int iStatus = StatusFromPresence(buddy, hContact); if (iStatus > 0) @@ -373,10 +373,10 @@ MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact) const JSONNode &profile = buddy["profile"]; if (profile) { - Json2string(hContact, profile, "friendlyName", DB_KEY_ICQNICK); - Json2string(hContact, profile, "firstName", "FirstName"); - Json2string(hContact, profile, "lastName", "LastName"); - Json2string(hContact, profile, "aboutMe", DB_KEY_ABOUT); + Json2string(hContact, profile, "friendlyName", DB_KEY_ICQNICK, bIsPartial); + Json2string(hContact, profile, "firstName", "FirstName", bIsPartial); + Json2string(hContact, profile, "lastName", "LastName", bIsPartial); + Json2string(hContact, profile, "aboutMe", DB_KEY_ABOUT, bIsPartial); ptrW wszNick(getWStringA(hContact, "Nick")); if (!wszNick) { @@ -404,9 +404,9 @@ MCONTACT CIcqProto::ParseBuddyInfo(const JSONNode &buddy, MCONTACT hContact) } for (auto &it : profile["homeAddress"]) { - Json2string(hContact, it, "city", "City"); - Json2string(hContact, it, "state", "State"); - Json2string(hContact, it, "country", "Country"); + Json2string(hContact, it, "city", "City", bIsPartial); + Json2string(hContact, it, "state", "State", bIsPartial); + Json2string(hContact, it, "country", "Country", bIsPartial); } } |