From 4c93f2b20218e943f61d0a399aa3d11aa01506a7 Mon Sep 17 00:00:00 2001 From: ElzorFox Date: Thu, 28 Mar 2019 19:30:16 +0500 Subject: VKontakte: fix (?) add groups user to friend list fix add/remove groups user to/from muc --- protocols/VKontakte/src/vk_chats.cpp | 4 ++-- protocols/VKontakte/src/vk_proto.cpp | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'protocols/VKontakte') diff --git a/protocols/VKontakte/src/vk_chats.cpp b/protocols/VKontakte/src/vk_chats.cpp index 377c7c076f..0ade10a53c 100644 --- a/protocols/VKontakte/src/vk_chats.cpp +++ b/protocols/VKontakte/src/vk_chats.cpp @@ -548,7 +548,7 @@ void CVkProto::LogMenuHook(CVkChatInfo *cc, GCHOOK *gch) LONG uid = getDword(dlg.m_hContact, "ID", VK_INVALID_USER); if (uid != VK_INVALID_USER) Push(new AsyncHttpRequest(this, REQUEST_GET, "/method/messages.addChatUser.json", true, &CVkProto::OnReceiveSmth) - << INT_PARAM("user_id", uid) + << INT_PARAM("user_id", uid < 0 ? 1000000000 - uid : uid) << INT_PARAM("chat_id", cc->m_iChatId)); } } @@ -763,7 +763,7 @@ void CVkProto::NickMenuHook(CVkChatInfo *cc, GCHOOK *gch) Push(new AsyncHttpRequest(this, REQUEST_GET, "/method/messages.removeChatUser.json", true, &CVkProto::OnReceiveSmth) << INT_PARAM("chat_id", cc->m_iChatId) - << INT_PARAM("user_id", cu->m_uid)); + << INT_PARAM("user_id", cu->m_uid < 0 ? 1000000000 - cu->m_uid : cu->m_uid)); cu->m_bUnknown = true; break; diff --git a/protocols/VKontakte/src/vk_proto.cpp b/protocols/VKontakte/src/vk_proto.cpp index 10e1a2693f..463518635c 100644 --- a/protocols/VKontakte/src/vk_proto.cpp +++ b/protocols/VKontakte/src/vk_proto.cpp @@ -530,6 +530,10 @@ int CVkProto::AuthRequest(MCONTACT hContact, const wchar_t *message) if (userID == VK_INVALID_USER || !hContact || userID == VK_FEED_USER) return 1; + if (userID < 0) + userID = 1000000000 - userID; + + wchar_t msg[501] = { 0 }; if (message) wcsncpy_s(msg, _countof(msg), message, _TRUNCATE); -- cgit v1.2.3