diff options
author | George Hazan <ghazan@miranda.im> | 2019-01-04 11:55:35 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2019-01-04 11:55:35 +0300 |
commit | 95bd456620d632b1d677b28e59e53eb60a2029d4 (patch) | |
tree | 692e695ce4f523c990669d8cd3bc1a0128de3fe7 /protocols/Icq10/src | |
parent | 411df60e2845f9ddfe3e68043d603d64c3bf62a5 (diff) |
ICQ: we don't load whole history on first run
Diffstat (limited to 'protocols/Icq10/src')
-rw-r--r-- | protocols/Icq10/src/server.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/protocols/Icq10/src/server.cpp b/protocols/Icq10/src/server.cpp index 5e091d6921..d11e2301ac 100644 --- a/protocols/Icq10/src/server.cpp +++ b/protocols/Icq10/src/server.cpp @@ -623,11 +623,13 @@ void CIcqProto::ProcessHistData(const JSONNode &ev) __int64 lastMsgId = getId(hContact, "LastMsgId"); __int64 srvlastId = _wtoi64(ev["lastMsgId"].as_mstring()); - if (srvlastId > lastMsgId) + + // on first start we don't load history not to create dups + if (lastMsgId == 0) + setId(hContact, "LastMsgId", srvlastId); + // or load missing messages if any + else if (srvlastId > lastMsgId) RetrieveUserHistory(hContact, srvlastId, lastMsgId); - - for (auto &it : ev["tail"]["messages"]) - ParseMessage(hContact, it); } void CIcqProto::ProcessMyInfo(const JSONNode &ev) |