From 9f5554e211907907ec149a7c8919bc70daf77026 Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Thu, 4 Jun 2015 10:38:59 +0000 Subject: SkypeWeb: Fix loading contacts info for big contact list. git-svn-id: http://svn.miranda-ng.org/main/trunk@13994 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/SkypeWeb/src/skype_contacts.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'protocols') diff --git a/protocols/SkypeWeb/src/skype_contacts.cpp b/protocols/SkypeWeb/src/skype_contacts.cpp index 76e6b83a3c..fca06e2f91 100644 --- a/protocols/SkypeWeb/src/skype_contacts.cpp +++ b/protocols/SkypeWeb/src/skype_contacts.cpp @@ -250,7 +250,22 @@ void CSkypeProto::LoadContactList(const NETLIBHTTPREQUEST *response) ptrA token(getStringA("TokenSecret")); if (skypenames.getCount() > 0) { - PushRequest(new GetContactsInfoRequest(token, skypenames), &CSkypeProto::LoadContactsInfo); + int i = 0; + do + { + LIST users(1); + for (; i < skypenames.getCount() && users.getCount() < 20; i++) + { + users.insert(skypenames[i]); + } + + PushRequest(new GetContactsInfoRequest(token, users), &CSkypeProto::LoadContactsInfo); + + for (int j = 0; i < users.getCount(); j++) + mir_free(users[j]); + users.destroy(); + } + while(i < skypenames.getCount()); for (int i = 0; i < skypenames.getCount(); i++) mir_free(skypenames[i]); -- cgit v1.2.3