summaryrefslogtreecommitdiff
path: root/protocols/VKontakte
diff options
context:
space:
mode:
authorElzorFox <elzorfox@ya.ru>2018-10-03 11:31:55 +0500
committerElzorFox <elzorfox@ya.ru>2018-10-03 11:31:55 +0500
commit5ea4704b38bd381008f61418405d606483d68f29 (patch)
treeafdb412b6b1e4b0cfd918e25df53aab458741b76 /protocols/VKontakte
parente123b23e3176dfc83fd6d175d8b211cd83b37fcf (diff)
VKontakte: loading edited messages using RecvMsg
Diffstat (limited to 'protocols/VKontakte')
-rw-r--r--protocols/VKontakte/src/misc.cpp7
-rw-r--r--protocols/VKontakte/src/vk_messages.cpp19
-rw-r--r--protocols/VKontakte/src/vk_proto.h4
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 &timestamp, CMStringW &msg, DBEVENTINFO& dbei)
+MEVENT CVkProto::GetMessageFromDb(UINT iMsgId, UINT &timestamp, 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 &timestamp, CMStringW &msg, DBEVENTINFO& dbei)
+MEVENT CVkProto::GetMessageFromDb(const char *messageId, UINT &timestamp, CMStringW &msg)
{
if (messageId == nullptr)
return 0;
@@ -1556,6 +1556,7 @@ MEVENT CVkProto::GetMessageFromDb(const char *messageId, UINT &timestamp, CMStri
if (!hDbEvent)
return 0;
+ DBEVENTINFO dbei = {};
dbei.cbBlob = db_event_getBlobSize(hDbEvent);
mir_ptr<BYTE> 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 &timestamp, CMStringW &msg, DBEVENTINFO& dbei);
+ MEVENT GetMessageFromDb(UINT iMsgId, UINT& timestamp, CMStringW& msg);
+ MEVENT GetMessageFromDb(const char * messageId, UINT &timestamp, CMStringW &msg);
int DeleteContact(MCONTACT hContact);
bool IsMessageExist(UINT iMsgId, VKMesType vkType = vkALL);
void InitQueue();