summaryrefslogtreecommitdiff
path: root/protocols/Icq10/src/server.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2019-01-04 11:55:35 +0300
committerGeorge Hazan <ghazan@miranda.im>2019-01-04 11:55:35 +0300
commit95bd456620d632b1d677b28e59e53eb60a2029d4 (patch)
tree692e695ce4f523c990669d8cd3bc1a0128de3fe7 /protocols/Icq10/src/server.cpp
parent411df60e2845f9ddfe3e68043d603d64c3bf62a5 (diff)
ICQ: we don't load whole history on first run
Diffstat (limited to 'protocols/Icq10/src/server.cpp')
-rw-r--r--protocols/Icq10/src/server.cpp10
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)