summaryrefslogtreecommitdiff
path: root/protocols/Skype/src/skype_messages.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Skype/src/skype_messages.cpp')
-rw-r--r--protocols/Skype/src/skype_messages.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/protocols/Skype/src/skype_messages.cpp b/protocols/Skype/src/skype_messages.cpp
index 64b29939e1..ced5ab8647 100644
--- a/protocols/Skype/src/skype_messages.cpp
+++ b/protocols/Skype/src/skype_messages.cpp
@@ -59,13 +59,18 @@ void CSkypeProto::OnMessageReceived(CConversation::Ref &conversation, CMessage::
SEBinary guid;
message->GetPropGuid(guid);
-
- this->RaiseMessageReceivedEvent(
- hContact,
- timestamp,
- guid,
- text,
- status == CMessage::UNCONSUMED_NORMAL);
+ ReadMessageParam param = { guid, messageType };
+
+ if (status != CMessage::UNCONSUMED_NORMAL)
+ if (this->IsMessageInDB(hContact, timestamp, guid))
+ return;
+
+ PROTORECVEVENT recv;
+ recv.flags = PREF_UTF;
+ recv.lParam = (LPARAM)&param;
+ recv.timestamp = timestamp;
+ recv.szMessage = ::mir_strdup(text);
+ ::ProtoChainRecvMsg(hContact, &recv);
}
/////////////////////////////////////////////////////////////////////////////////////////