forked from mirrors/linphone-iphone
fix(ChatRoom): reuse event from chat message in cb when possible
This commit is contained in:
parent
24d627adf7
commit
f0ca552ce4
1 changed files with 10 additions and 3 deletions
|
|
@ -163,14 +163,21 @@ void ChatRoomPrivate::sendMessage (const shared_ptr<ChatMessage> &msg) {
|
|||
|
||||
// TODO: Check direction.
|
||||
|
||||
msg->getPrivate()->setTime(ms_time(0));
|
||||
msg->getPrivate()->send();
|
||||
ChatMessagePrivate *dChatMessage = msg->getPrivate();
|
||||
dChatMessage->setTime(ms_time(0));
|
||||
dChatMessage->send();
|
||||
|
||||
LinphoneChatRoom *cr = L_GET_C_BACK_PTR(q);
|
||||
LinphoneChatRoomCbs *cbs = linphone_chat_room_get_callbacks(cr);
|
||||
LinphoneChatRoomCbsParticipantAddedCb cb = linphone_chat_room_cbs_get_chat_message_sent(cbs);
|
||||
shared_ptr<ConferenceChatMessageEvent> event = make_shared<ConferenceChatMessageEvent>(msg->getTime(), msg);
|
||||
|
||||
if (cb) {
|
||||
shared_ptr<ConferenceChatMessageEvent> event = static_pointer_cast<ConferenceChatMessageEvent>(
|
||||
q->getCore()->getPrivate()->mainDb->getEventFromKey(dChatMessage->dbKey)
|
||||
);
|
||||
if (!event)
|
||||
event = make_shared<ConferenceChatMessageEvent>(msg->getTime(), msg);
|
||||
|
||||
cb(cr, L_GET_C_BACK_PTR(event));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue