From 42eb8d4b7e3f4d99ccd2c9b60dccb03d1fd033f9 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 11 Jun 2024 17:21:18 +0300 Subject: =?UTF-8?q?fixes=20#4465=20(SkypeWeb:=20=D0=B8=D1=81=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=D1=8F=D1=89=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B?= =?UTF-8?q?=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B0=D1=8E=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=BA=D0=B0=D0=BA=20=D0=B2=D1=85=D0=BE=D0=B4?= =?UTF-8?q?=D1=8F=D1=89=D0=B8=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/SkypeWeb/src/skype_messages.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/protocols/SkypeWeb/src/skype_messages.cpp b/protocols/SkypeWeb/src/skype_messages.cpp index ddb4af3433..17fc4ebc70 100644 --- a/protocols/SkypeWeb/src/skype_messages.cpp +++ b/protocols/SkypeWeb/src/skype_messages.cpp @@ -109,6 +109,10 @@ void CSkypeProto::OnPrivateMessageEvent(const JSONNode &node) if (m_bHistorySynced) setDword(hContact, "LastMsgTime", timestamp); + uint32_t dwFlags = DBEF_UTF; + if (IsMe(szFromSkypename)) + dwFlags |= DBEF_SENT; + if (strMessageType == "Control/Typing") { CallService(MS_PROTO_CONTACTISTYPING, hContact, PROTOTYPE_CONTACTTYPING_INFINITE); } @@ -124,7 +128,7 @@ void CSkypeProto::OnPrivateMessageEvent(const JSONNode &node) mir_cslock lck(m_lckOutMessagesList); m_OutMessages.remove(hMessage); } - else AddDbEvent(nEmoteOffset == 0 ? EVENTTYPE_MESSAGE : SKYPE_DB_EVENT_TYPE_ACTION, hContact, timestamp, DBEF_UTF | DBEF_SENT, wszContent.c_str()+nEmoteOffset, szMessageId); + else AddDbEvent(nEmoteOffset == 0 ? EVENTTYPE_MESSAGE : SKYPE_DB_EVENT_TYPE_ACTION, hContact, timestamp, dwFlags, wszContent.c_str()+nEmoteOffset, szMessageId); } else { CallService(MS_PROTO_CONTACTISTYPING, hContact, PROTOTYPE_CONTACTTYPING_OFF); @@ -144,28 +148,28 @@ void CSkypeProto::OnPrivateMessageEvent(const JSONNode &node) } } else if (strMessageType == "Event/Call") { - AddDbEvent(SKYPE_DB_EVENT_TYPE_CALL_INFO, hContact, timestamp, DBEF_UTF, wszContent, szMessageId); + AddDbEvent(SKYPE_DB_EVENT_TYPE_CALL_INFO, hContact, timestamp, dwFlags, wszContent, szMessageId); } else if (strMessageType == "RichText/Files") { - AddDbEvent(SKYPE_DB_EVENT_TYPE_FILETRANSFER_INFO, hContact, timestamp, DBEF_UTF, wszContent , szMessageId); + AddDbEvent(SKYPE_DB_EVENT_TYPE_FILETRANSFER_INFO, hContact, timestamp, dwFlags, wszContent , szMessageId); } else if (strMessageType == "RichText/UriObject") { - AddDbEvent(SKYPE_DB_EVENT_TYPE_URIOBJ, hContact, timestamp, DBEF_UTF, wszContent, szMessageId); + AddDbEvent(SKYPE_DB_EVENT_TYPE_URIOBJ, hContact, timestamp, dwFlags, wszContent, szMessageId); } else if (strMessageType == "RichText/Contacts") { ProcessContactRecv(hContact, timestamp, T2Utf(wszContent), szMessageId); } else if (strMessageType == "RichText/Media_FlikMsg") { - AddDbEvent(SKYPE_DB_EVENT_TYPE_MOJI, hContact, timestamp, DBEF_UTF, wszContent, szMessageId); + AddDbEvent(SKYPE_DB_EVENT_TYPE_MOJI, hContact, timestamp, dwFlags, wszContent, szMessageId); } else if (strMessageType == "RichText/Media_GenericFile") { - AddDbEvent(SKYPE_DB_EVENT_TYPE_FILE, hContact, timestamp, DBEF_UTF, wszContent, szMessageId); + AddDbEvent(SKYPE_DB_EVENT_TYPE_FILE, hContact, timestamp, dwFlags, wszContent, szMessageId); } else if (strMessageType == "RichText/Media_Album") { // do nothing } else { - AddDbEvent(SKYPE_DB_EVENT_TYPE_UNKNOWN, hContact, timestamp, DBEF_UTF, wszContent, szMessageId); + AddDbEvent(SKYPE_DB_EVENT_TYPE_UNKNOWN, hContact, timestamp, dwFlags, wszContent, szMessageId); } } -- cgit v1.2.3