From 5ea4704b38bd381008f61418405d606483d68f29 Mon Sep 17 00:00:00 2001 From: ElzorFox Date: Wed, 3 Oct 2018 11:31:55 +0500 Subject: VKontakte: loading edited messages using RecvMsg --- protocols/VKontakte/src/misc.cpp | 7 ++++--- protocols/VKontakte/src/vk_messages.cpp | 19 +------------------ protocols/VKontakte/src/vk_proto.h | 4 ++-- 3 files changed, 7 insertions(+), 23 deletions(-) diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp index 149c659fa8..d4af4c1a8c 100644 --- a/protocols/VKontakte/src/misc.cpp +++ b/protocols/VKontakte/src/misc.cpp @@ -1540,14 +1540,14 @@ void CVkProto::AddVkDeactivateEvent(MCONTACT hContact, CMStringW& wszType) } -MEVENT CVkProto::GetMessageFromDb(UINT iMsgId, UINT ×tamp, CMStringW &msg, DBEVENTINFO& dbei) +MEVENT CVkProto::GetMessageFromDb(UINT iMsgId, UINT ×tamp, CMStringW &msg) { char szMid[40]; _itoa(iMsgId, szMid, 10); - return GetMessageFromDb(szMid, timestamp, msg, dbei); + return GetMessageFromDb(szMid, timestamp, msg); } -MEVENT CVkProto::GetMessageFromDb(const char *messageId, UINT ×tamp, CMStringW &msg, DBEVENTINFO& dbei) +MEVENT CVkProto::GetMessageFromDb(const char *messageId, UINT ×tamp, CMStringW &msg) { if (messageId == nullptr) return 0; @@ -1556,6 +1556,7 @@ MEVENT CVkProto::GetMessageFromDb(const char *messageId, UINT ×tamp, CMStri if (!hDbEvent) return 0; + DBEVENTINFO dbei = {}; dbei.cbBlob = db_event_getBlobSize(hDbEvent); mir_ptr blob((PBYTE)mir_alloc(dbei.cbBlob)); dbei.pBlob = blob; diff --git a/protocols/VKontakte/src/vk_messages.cpp b/protocols/VKontakte/src/vk_messages.cpp index 4dcf1e2346..fd91d769f0 100644 --- a/protocols/VKontakte/src/vk_messages.cpp +++ b/protocols/VKontakte/src/vk_messages.cpp @@ -311,26 +311,9 @@ void CVkProto::OnReceiveMessages(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pRe wszBody; CMStringW wszOldMsg; - DBEVENTINFO dbei = {}; - MEVENT hDbEvent = GetMessageFromDb(mid, datetime, wszOldMsg, dbei); - if (hDbEvent) { + if (GetMessageFromDb(mid, datetime, wszOldMsg)) wszBody += SetBBCString(TranslateT("\nOriginal message:\n"), m_vkOptions.BBCForAttachments(), vkbbcB) + wszOldMsg; - - if (isRead && bUseServerReadFlag) - dbei.flags |= DBEF_READ; - else - dbei.flags &= ~DBEF_READ; - - T2Utf pszBody(wszBody); - dbei.cbBlob = mir_strlen(pszBody) + 1; - dbei.pBlob = pszBody; - - debugLogA("CVkProto::OnReceiveMessages edited mid = %d, datetime = %d, isOut = %d, isRead = %d, uid = %d", mid, datetime, isOut, isRead, uid); - - db_event_edit(hContact, hDbEvent, &dbei); - continue; - } } PROTORECVEVENT recv = {}; diff --git a/protocols/VKontakte/src/vk_proto.h b/protocols/VKontakte/src/vk_proto.h index 841d2a5f78..6c3d632715 100644 --- a/protocols/VKontakte/src/vk_proto.h +++ b/protocols/VKontakte/src/vk_proto.h @@ -353,8 +353,8 @@ private: void SetInvisible(MCONTACT hContact); CMStringW RemoveBBC(CMStringW& wszSrc); void AddVkDeactivateEvent(MCONTACT hContact, CMStringW & wszType); - MEVENT GetMessageFromDb(UINT iMsgId, UINT& timestamp, CMStringW& msg, DBEVENTINFO& dbei); - MEVENT GetMessageFromDb(const char * messageId, UINT ×tamp, CMStringW &msg, DBEVENTINFO& dbei); + MEVENT GetMessageFromDb(UINT iMsgId, UINT& timestamp, CMStringW& msg); + MEVENT GetMessageFromDb(const char * messageId, UINT ×tamp, CMStringW &msg); int DeleteContact(MCONTACT hContact); bool IsMessageExist(UINT iMsgId, VKMesType vkType = vkALL); void InitQueue(); -- cgit v1.2.3