diff options
Diffstat (limited to 'protocols/VKontakte/src/vk_thread.cpp')
-rw-r--r-- | protocols/VKontakte/src/vk_thread.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/protocols/VKontakte/src/vk_thread.cpp b/protocols/VKontakte/src/vk_thread.cpp index 087cbe418c..b61e2926e5 100644 --- a/protocols/VKontakte/src/vk_thread.cpp +++ b/protocols/VKontakte/src/vk_thread.cpp @@ -328,7 +328,7 @@ void CVkProto::OnReceiveMyInfo(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pReq) RetrieveUserInfo(m_myUserId);
TrackVisitor();
RetrieveUnreadMessages();
- RetrieveFriends();
+ RetrieveFriends(m_vkOptions.bLoadOnlyFriends);
RetrievePollingInfo();
}
@@ -706,9 +706,9 @@ void CVkProto::OnReceiveUserInfo(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pRe break;
MCONTACT hContact = FindUser(userid, true);
- if (!getBool(hContact, "ReqAuth")) {
+ if (!IsAuthContactLater(hContact)) {
RetrieveUserInfo(userid);
- setByte(hContact, "ReqAuth", 1);
+ AddAuthContactLater(hContact);
CVkDBAddAuthRequestThreadParam *param = new CVkDBAddAuthRequestThreadParam(hContact, false);
ForkThread(&CVkProto::DBAddAuthRequestThread, (void *)param);
}
@@ -817,7 +817,6 @@ void CVkProto::OnReceiveFriends(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pReq for (auto &hContact : AccContacts()) {
if (!isChatRoom(hContact) && !IsGroupUser(hContact))
setByte(hContact, "Auth", 1);
- db_unset(hContact, m_szModuleName, "ReqAuth");
SetMirVer(hContact, -1);
if (bCleanContacts && !isChatRoom(hContact))
arContacts.insert((HANDLE)hContact);
@@ -834,6 +833,7 @@ void CVkProto::OnReceiveFriends(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pReq arContacts.remove((HANDLE)hContact);
setByte(hContact, "Auth", 0);
+ db_unset(hContact, m_szModuleName, "ReqAuthTime");
}
if (bCleanContacts)
@@ -843,7 +843,8 @@ void CVkProto::OnReceiveFriends(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pReq bool bIsFriendGroup = IsGroupUser(hContact) && getBool(hContact, "friend");
if (userID == m_myUserId || userID == VK_FEED_USER || bIsFriendGroup)
continue;
- DeleteContact(hContact);
+ if (!IsAuthContactLater(hContact))
+ DeleteContact(hContact);
}
arContacts.destroy();
|